1

我使用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。

4

2 回答 2

4

无论您在哪里使用acts_as_list

只是这样做,

unscoped.acts_as_list
于 2012-09-26T12:23:23.450 回答
0

gem 的旧版本(0.1.4)似乎有一些错误,unscoped.acts_as_list并没有阻止应用默认范围。将 gem 更新到最新版本 (0.1.8) 修复了它。默认情况下,它不应用默认范围,所以我们不需要写unscoped.acts_as_list

更多详情可在这找到:

https://github.com/swanandp/acts_as_list/pull/13

于 2012-10-04T13:53:52.533 回答