Örneğin, bir blog nesnesine sahibim ve bu blogun birçok gönderi var. İlk blog nesnesinin hevesli yüklemesini yapmak ve ilk 10 mesajını söylemek istiyorum. Şu anda @blogs = Blog.limit(4)
ve sonra görünümünde @blogs.posts.limit(10)
kullanın. Bunu, Blog.include(:posts).limit(:posts=>10)
gibi bir yolla yapmak için daha iyi bir yol olduğundan eminim. Dahil edilen nesnelerin sayısını sınırlamak mümkün değil mi, yoksa burada temel bir şey eksik mi? YapabileceğinizRaylar 3 Sınırlama İçerilen Nesneler
class Blog < ActiveRecord::Base
has_many :included_posts, :class_name => 'Post', :limit => 10
has_many :posts
end
Öyleyse:
iade edilecektir Bkz. Http://stackoverflow.com/questions/6076392/limit-the-number-of-objects-returned-in-a-has-many – Thilo
Tek, Bu yaklaşımı Rails'de çalışmaya bile başlayamıyorum (3.1)) konsolu. has_many: recent_posts,: class_name => 'Post',: limit => 3' eklendi. Ama ne zaman Blog.includes (: mesajlar) .first 'Ben hala sadece ilk 3 tüm yayınları var. – loneaggie
Blog'u deneyin.includes (: recent_posts) .first.recent_posts – Thilo