Хорошо, я чувствую, что начинаю приходить в SO для каждого запроса activerecord, который мне нужно написать сейчас, и я начинаю вытаскивать свою метафору user / pet / parasite, но здесь мы идем снова.
В следующей настройке;
class User < ActiveRecord::Base
has_many :pets
has_many :parasites, :through => :pets
end
class Pet < ActiveRecord::Base
has_many :parasites
belongs_to :user
end
class Parasite < ActiveRecord::Base
belongs_to :pet
end
Я хочу написать поиск, который вернет все паразиты, принадлежащие коту Боба (т. Е. User.name = 'Bob' и Pet.animal = 'Cat').
Я понимаю, что могу сделать это с довольно вытянутым и уродливым
User.where(:name => 'Bob').first.pets.where(:animal => 'Cat').first.parasites
, но я подумал, что должен быть более краткий способ сделать это.
Все мои попытки написать оператор соединения, чтобы это произошло, приводят к ошибке ActiveRecord :: Configuration, так что я подозреваю, что я иду в обратном направлении.Еще раз, кажется, что это должно быть проще, чем есть.
Спасибо.