创建第三级关联,其中第二级别属于Rails ActiveRecord上的第三级

时间:2010-10-10 22:10:27

标签: ruby-on-rails ruby activerecord associations

我的Rails应用程序中有以下型号Purchase:

class Purchase < ActiveRecord::Base
  [...]
  belongs_to :payment, :validate => true
  belongs_to :day, :foreign_key => :day_day, :primary_key => :day, 
    :counter_cache => true
  [...]
end

我有Day模型:

class Day < ActiveRecord::Base
  [...]
  has_many :purchases, :foreign_key => :day_day, :primary_key => :day
  [...]
end

我想通过购买模式在当天和当天发生的付款之间建立关联。有可能吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

如果您能够更详细地说明为什么您的人际关系会按照他们的方式进行设置,这可能会有所帮助。

我的第一个问题是Day对象是由什么组成的?是否可以通过Purchase模型上的“purchase_on”属性来替换它? 如果是这样,可以通过Purchase上的范围轻松完成此操作。

其次,现在你拥有一个Payment的方式有很多Purchases。这真的是你的意思吗,还是你真的想要一个有Purchase的{​​{1}}?

让我知道,我会看看能不能为你找到适合的东西。