Проверка наличия строки базы данных, соответствующей двум внешним ключам - PullRequest
0 голосов
/ 17 марта 2011

У меня есть модель под названием альфа.Другая модель, бета, имеет внешние ключи альфа и гамма.Я хотел бы увидеть, существует ли бета для данного альфа и гамма соответствия, поэтому я попытался сделать это так для экземпляра альфа с именем «а» и гаммы с именем «g», но это не работает, потому что это не так »по какой-то причине не знаю, как посмотреть гамму для каждой беты.Я могу поместить это в неприятный цикл, но это кажется очень не RoR.

a.betas.gamma.includes?(g)

Я также пробовал различные формы a.betas.find(:gamma => g)

Они также не работают.Должен ли я просто перенести все в модель бета-версии и сделать ее классным методом бета-тестирования?Это кажется удивительно неудобным.

1 Ответ

1 голос
/ 17 марта 2011

Если я правильно понял:

class Alpha << ActiveRecord::Base
  has_many :betas
end

class Beta << ActiveRecord::Base
  belongs_to :alpha
  belongs_to :gamma
end

class Gamma << ActiveRecord::Base
  has_many :betas
end

Можете ли вы добавить has_many :gammas, :through => :beta к альфа-классу? Если так, то попробуйте:

a.gammas.exists?(g)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...