En la documentación para la carga ansiosa se afirma que:¿Cómo se hace la carga ansiosa con límites?
Si la carga ansiosa una asociación con una especificada: opción de límite, será ignorado, volviendo todos los objetos asociados:
class Picture < ActiveRecord::Base
has_many :most_recent_comments, :class_name => 'Comment',
:order => 'id DESC', :limit => 10
end
Picture.find (: first,: include =>: most_recent_comments) .most_recent_comments # => devuelve todos los comentarios asociados.
Si este es el caso, entonces, ¿cuál es la mejor manera de alcanzar el "límite" en la carga?
Digamos que estamos ansiosos de cargar las últimas 10 publicaciones de blog en la página principal de un blog, claramente no las queremos todas, así que ¿debería especificarse el límite y el orden de la colección de publicaciones?
Además de eso, ¿se pueden especificar las mismas condiciones en los elementos que están cargados en profundidad, por ejemplo, solo se muestran los primeros tres comentarios en cada entrada de blog?
Blog.find(:blog_id, :include => {:posts => :comments })
Tome un vistazo a esta respuesta ... http://stackoverflow.com/questions/9808674/rails-eager-load-and-limit – user1896290