2012-03-14 13 views
10

Zakładając Mam User modeluActiveRecord :: Powiązanie, jakikolwiek sposób na usunięcie istniejącego limitu i przesunięcia?

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

Czy istnieje sposób, aby paged_user mieć User.scoped poprzez usunięcie limitu i offset? IE:

all_user = paged_users.remove_limit.remove_offset 
+0

"User.scoped.limit (2) .offset (2) .limit (100000) .offset (0)" Mogę dodać limit 1M i 0 przesunięcie, ale szukam alternatywy. – allenhwkim

+0

Proszę sformatować swój kod w swoich pytaniach za pomocą wcięć z czterema spacjami. Ponadto: nie ma potrzeby podpisywania wiadomości. –

Odpowiedz

28

myślę masz możliwości takiego:

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

Mając to na uwadze ...

Aby usunąć limit przepustkę nil do limit:

users.limit(nil) 

Następnie, aby usunąć zamówienie, należy użyć reorder, a także przekazując mu nil:

users.limit(nil).reorder(nil) 

To usunie zarówno limit oraz zlecenia ze swojego zakresu, zachowując wszystkie inne rzeczy. Jeśli użyjesz unscoped, usuniesz zakres ze wszystkich zakresów.

+1

dzięki. to jest świetne – allenhwkim

+0

Dla mnie "users = users.limit (zero)" działało. – bhupinder

Powiązane problemy