2012-03-14 10 views
10

Suponiendo que tengo un modelo UserActiveRecord :: Relación, ¿hay alguna forma de eliminar el límite y el desplazamiento existentes?

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

¿Hay una manera de hacer paged_user tienen User.scoped mediante la eliminación de límite y el desplazamiento? IE:

all_user = paged_users.remove_limit.remove_offset 
+0

"User.scoped.limit (2) .offset (2) .limit (100000) .offset (0)" Puedo agregar 1M límite y 0 desplazamiento, pero buscando alternativa. – allenhwkim

+0

Formatee su código en sus preguntas utilizando sangrado de cuatro espacios. Además: no hay necesidad de firmar sus mensajes. –

Respuesta

28

estoy pensando que tiene un ámbito de aplicación de esta manera:

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

Con esto en mente ...

Para retirar el pase a limitnillimit:

users.limit(nil) 

Luego, para eliminar el pedido, use reorder, también a transmitirlo nil:

users.limit(nil).reorder(nil) 

que eliminará tanto el límite y el orden de su alcance, conservando todas las demás cosas. Si tuviera que usar unscoped, eliminaría todos los scoping.

+1

gracias. es genial – allenhwkim

+0

Para mí "users = users.limit (nil)" funcionó. – bhupinder

Cuestiones relacionadas