Modelin ilişkilerini karmaşık koşullarla önceden yüklemem gerekiyor. NO, includes
benim için çalışmıyor. Görevim için yanlış SQL üretir.Rails Associations :: Preloader için önyükleme kapsamı nasıl ayarlanır?
Ben ActiveRecord::Associations::Preloader
için bir göz atın ve o bir preload_scope
argüman aldığını bulmak:
http://apidock.com/rails/v4.2.1/ActiveRecord/Associations/Preloader/preload
def preload(records, associations, preload_scope = nil)
# ...
end
Ama bunu kullanarak herhangi bir örnek bulamıyorum. Bu durumda preload_scope
nedir? Ve dernekleri filtrelemek için nasıl kullanabilirim? Teşekkürler!
Teşekkürler çalışıyor! Ama neden bu kadar çok sorgu yaratıyor? 'Kullanıcı Yükleme (12.1ms) SELECT" users ". *" Users "FROM (created_at> '2015-01-01') VE" users "." Cat "IN (52, 50, 51, 53) Kullanıcı Yükleme (1.2 msn) SELECT "kullananlar". * "Kullanıcılardan" WHERE (created_at> '2015-01-01') Kullanıcı Yükleme (5.1ms) SELECT "users". * FROM "users" ' – Vladimir
Mesaj gönderebilir misiniz? senin kodun? –
'users = Car.find (1) .users satır = users.to_a ActiveRecord :: İlişkilendirmeler :: Preloader.new.preload (satırlar,: etkinlikler, Struct.new (: değerler,: bind_values) .new ({nerede: "created_at> '2015-01-01'"}, [])) – Vladimir