Модели: Foo, Bar, Bonk
class Foo < ActiveRecord::Base
has_many :bars
has_many :bonks, :through => :bars
end
class Bar < ActiveRecord::Base
has_many :bonks
end
Как я могу получить список Foo объектов, связанных с Bonk, чье имя "awesome"
Я знаю, что делать с Foo.find (...), который включает в себя: join и a: условие.Что я хочу сделать, так это избежать большого количества сырых sql (особенно, когда в центре более одной модели).
Что-то вроде
Foo.find(:all, :conditions=>["bonks.name = ?", 'awesome'])
, которое, очевидно, не работает так, как оно генерирует
Select * from foos where bonks.name = 'awesome'
К сожалению, я имею дело с приложением rails 1.2здесь, но я не думаю эта функциональность изменилась с тех пор.