ActiveRecord :: Relation, любой способ удалить существующий предел и смещение? - PullRequest
17 голосов
/ 15 марта 2012

Если у меня есть User модель

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

Есть ли способ заставить paged_user иметь User.scoped, удалив лимит и смещение? IE:

all_user = paged_users.remove_limit.remove_offset

1 Ответ

37 голосов
/ 15 марта 2012

Я думаю, у вас есть такой вид:

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

Имея это в виду ...

Чтобы удалить limit проход nil в limit:

users.limit(nil)

Затем, чтобы удалить порядок, используйте reorder, также передавая его nil:

users.limit(nil).reorder(nil)

Это удалит как предел, так и порядок из вашей области,сохраняя все остальные вещи.Если бы вы использовали unscoped, он удалил бы все область видимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...