ActiveRecord :: Relation,有什么方法可以删除现有的限制和偏移?

时间:2012-03-14 20:02:29

标签: ruby-on-rails activerecord

假设我有一个User型号

paged_users = User.scoped.limit(2).offset(3)

通过删除限制和偏移,有没有办法让paged_user拥有User.scoped? IE:

all_user = paged_users.remove_limit.remove_offset

1 个答案:

答案 0 :(得分:36)

我认为你有这样的范围:

users = User.where("something").limit(20).order("name ASC")

考虑到这一点......

要将limit通行证nil移至limit

users.limit(nil)

然后要删除排序,请使用reorder,同时传递nil

users.limit(nil).reorder(nil)

这将从您的范围中删除限制和顺序,保留所有其他内容。如果您使用unscoped,则会删除所有范围。