I have a default scope on products due to information security constraints.
class Product < ActiveRecord::Base
  has_many :photos
  default_scope where('visible = 1')
end
In my associated Photo model, however, I also have to find products that should not be visible.
class Photo < ActiveRecord::Base
  belongs_to :product
end
my_photo.product
In other cases, I can use unscoped in order to bypass the default_scope, e.g. in Product.unscoped.find_by_title('abc'). However:
How to remove the scope when using associations of a record?
my_photo.unscoped.product does not make sense as my_photo does not have a method called unscoped. Neither does my_photo.product.unscoped make sense as my_photo.product may already be nil.