由于信息安全限制,我对产品有默认范围。
class Product < ActiveRecord::Base
has_many :photos
default_scope where('visible = 1')
end
然而,在我关联的照片模型中,我还必须找到不应该可见的产品。
class Photo < ActiveRecord::Base
belongs_to :product
end
my_photo.product
在其他情况下,我可以使用unscoped来绕过 default_scope,例如在Product.unscoped.find_by_title('abc')
. 然而:
使用记录关联时如何删除范围?
my_photo.unscoped.product
没有意义,因为 my_photo 没有名为unscoped
. 两者都没my_photo.product.unscoped
有意义,因为my_photo.product
可能已经为零。