Проблема с вложенными ассоциациями в Rails3 - PullRequest
1 голос
/ 23 июня 2010

У меня проблема с некоторыми ассоциациями в Rails3.

У меня есть следующие ассоциации

InformationCategory :has_many => Informations :has_many => InformationValues

Я могу успешно сделать следующее:

Information.first.information_values
=> [#InformationValue..]

Я также могу сделать следующее:

InformationCategory.first.informations
=> [#Information...]

Однако по какой-то причине это не получается:

InformationCategory.first.informations.first.information_values
=> NoMethodError: undefined method `information_values' for #<Information:0x000001053321c8>

Почему я не могу использовать вложенные ассоциациив рельсах?В сообщении об ошибке четко говорится, что InformationCategory.first.informations.first возвращает экземпляр Information

Я что-то не так делаю?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 июня 2010

Вы не определяете всех вложенных потомков в самой внешней модели: каждая модель определяет, что она «непосредственно» имеет или имеет, или модель, которой она принадлежит. Поскольку ваш вопрос неверен, я могу только догадываться, не видя более конкретно, как ваши модели должны быть связаны.

Это может быть начало:

class InformationCategory < ActiveRecord::Base
  has_many :informations
end

class Information < ActiveRecord::Base
  belongs_to :information_category
  has_many :information_values
end

class InformationValue < ActiveRecord::Base
  belongs_to :information
end

Однако вы, возможно, пытаетесь сделать has_many :through, но я не могу сказать по вашему вопросу.

...