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

all*_*kim 17 activerecord ruby-on-rails

假设我有一个User模型

paged_users = User.scoped.limit(2).offset(3)
Run Code Online (Sandbox Code Playgroud)

有没有一种方法,使paged_user已经User.scoped通过去除限制和偏移?IE:

all_user = paged_users.remove_limit.remove_offset
Run Code Online (Sandbox Code Playgroud)

Rya*_*igg 40

我在想你有这样的范围:

users = User.where("something").limit(20).order("name ASC")
Run Code Online (Sandbox Code Playgroud)

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

要删除limit传递nillimit:

users.limit(nil)
Run Code Online (Sandbox Code Playgroud)

然后删除订单,使用reorder,也传递它nil:

users.limit(nil).reorder(nil)
Run Code Online (Sandbox Code Playgroud)

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