has_one:through =>多

时间:2011-08-08 00:46:11

标签: ruby-on-rails activerecord associations has-many-through has-one

出勤率和出勤率单证员:

belongs_to :event
belongs_to :account

因此:参与和保证之间的关系是1对1。

如果没有我太多的想法,有没有办法做到这一点?

# attendment
has_one :vouching :through => [:event, :account]

注意:实际上我并不介意想太多。

1 个答案:

答案 0 :(得分:2)

是的,我认为你不能使用has_one。假设我正确读到这个,你有两个模型:

Attendment 单证员

他们都存储了event_id和account_id。您想从参加模型中了解到,哪种担保与参加活动和帐户共享相同的事件和帐户。我认为最简单的解决方案是在attendment.rb文件中编写一个方法。

class Attendment < ActiveRecord::Base
  # belong to statements go here
  def voucher
    Voucher.where(:event_id => self.event_id, :account_id => self.account_id).first
  end
end