我使用acts_as_list生成图书的插槽数量:
acts_as_list :scope => :book_id, :column => :slot
并且有一个默认范围,可以防止删除(软删除)书籍进入结果集:
default_scope where(:is_active => true)
我想阻止默认范围应用于acts_as_list声明,因为如果有人删除了最后一本书并创建了新书,则它们会获得相同的插槽号(因为当它获取最后一个插槽号时,默认值范围被应用,它没有获得删除的条目)。我知道unscoped
,但如何将其与acts_as_list一起使用?
我使用的是Rails 3.0.11。
答案 0 :(得分:4)
您使用acts_as_list
只需这样做,
unscoped.acts_as_list
答案 1 :(得分:0)
似乎宝石的旧版本(0.1.4)有一些错误,而unscoped.acts_as_list
并未阻止默认范围的应用。将gem更新到最新版本(0.1.8)修复它。默认情况下,它不应用默认范围,因此我们不需要编写unscoped.acts_as_list
更多细节可以在这里找到: