has_one: through => несколько - PullRequest
       23

has_one: through => несколько

2 голосов
/ 08 августа 2011

и участие и ручное управление:

belongs_to :event
belongs_to :account

Следовательно: соотношение 1: 1 между посещаемостью и поручительствами.

Есть ли способ сделать это, не слишком задумываясь?

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

Примечание: на самом деле я не против думать слишком много.

1 Ответ

2 голосов
/ 08 августа 2011

Да, я не думаю, что вы можете использовать has_one для этого.Предполагая, что я правильно читаю, у вас есть две модели:

Подтверждение участия

Они оба хранят event_id и account_id.Из модели посещаемости вы хотите узнать, какое поручение использует то же событие и учетную запись, что и посещаемость.Я думаю, что самое простое решение для этого состоит в том, чтобы написать метод в вашем файле Participment.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
...