У меня есть три модели:Ассоциация не работает
Департамент
class Department < ActiveRecord::Base
has_many :patients, :dependent => :destroy
has_many :waitingrooms, :dependent => :destroy
end
Waitingroom с полями patient_id:integer
и department_id:integer
class Waitingroom < ActiveRecord::Base
belongs_to :patient
end
Пациент с department_id:integer
class Patient < ActiveRecord::Base
belongs_to :department
has_many :waitingrooms
end
Я сохраняю зал ожидания после того, как пациент был в приемной! Так что теперь я пытался извлечь пациентов, где в в waitingroom отдела:
def index
@waited = @current_department.waitingrooms.patients
end
Как-то оно не работал он вернулся эту ошибку:
undefined method `patients' for #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Waitingroom:0x374c658>
Но это сработало: Что я не так? Благодаря!
def index
@waited = @current_department.waitingrooms
end
Я подвергаю сомнению ваши ассоциации ... Как зал ожидания принадлежат к одному пациенту, в то время как пациент имеет * много комнат * ожидания? Вы рубите своих людей и ставите один человек на номер? – meagar
Хорошо, что вы правы! Я скучаю по этому! –