重写Rails默认范围

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

如果我有一个具有默认范围的ActiveRecord::base模型:

class Foo < ActiveRecord::Base

  default_scope :conditions => ["bar = ?",bar]

end

有没有办法Foo.find使用default_scope条件?换句话说,可以覆盖默认范围吗?

我认为在名字中使用“默认”会暗示它过脊,否则它会被称为global_scope对吧?

提问于
用户回答回答于

简短回答:不要使用default_scope除非你真的需要。你最好用命名的作用域。这么说,你可以用with_exclusive_scope。

用户回答回答于

在Rails 3中:

foos = Foo.unscoped.where(:baz => baz)

扫码关注云+社区