前一段时间我问过(使用带有命名范围的ActiveRecord连接多个表)Joins across multiple tables with ActiveRecord with named scopes
现在我需要创建一个命名范围,涉及跨两个表连接,例如:
named_scope :baz_category, lambda {|c| {:joins=>([:foo,:bar,:baz]):conditions=>['baz_cat=',c]}}
Foo有一个Bar和Bar有一个Baz。
我想要一个适用于第4或第5等表的解决方案。
很多人要感谢帮助我的人。答案 0 :(得分:3)
named_scope :baz_category, lambda { |c| :joins => {:foo => { :bar => :baz } }
尽可能深地嵌套。
答案 1 :(得分:1)
您是否考虑过使用eager loading?文档很详细,有很好的例子。