我有一个名为alpha的模型。另一个型号beta有alpha和gamma的外键。我想看看对于给定的alpha和gamma匹配是否存在beta,所以我尝试像这样做一个名为'a'的alpha实例和一个名为'g'的gamma实例,但它不起作用,因为它没有'由于某种原因,我知道要查看每个测试版的伽玛值。我可以把它放在一个讨厌的循环中,但这似乎非常不可靠。
a.betas.gamma.includes?(g)
我还尝试了各种形式的a.betas.find(:gamma => g)
那些也行不通。我只是想把所有东西都移到贝塔模型中并使它成为beta的类方法吗?这看起来非常不方便。
答案 0 :(得分:1)
如果我理解正确:
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
添加到Alpha类吗?如果是,请尝试:
a.gammas.exists?(g)