У меня проблема с сохранением has_many через отношение с вложенными атрибутами. Из-за сложности и требований в приложении соотношение выглядит следующим образом
Структура таблицы,
agreements:
id
agreement_rooms:
id
agreement_id
room_id
details:
id
agreement_rooms_id
Для большего пояснения: таблица соглашение_комнат связана со многими другими моделями, в которых будет соглашение_комнат_ид.
ассоциации рельсов,
class Agreement < ActiveRecord::Base
has_many :details,:through => :agreement_rooms
accepts_nested_attributes_for :details
end
class AgreementRoom < ActiveRecord::Base
has_many :details
end
class Detail < ActiveRecord::Base
belongs_to :agreement_room
accepts_nested_attributes_for :agreement_room
end
Когда я пытаюсь создать запись соглашения с хэшем деталей, я получаю следующую ошибку:
Agreement.last.details.create()
ActiveRecord::HasManyThroughCantAssociateThroughHasOneOrManyReflection: Cannot modify association 'agreement#details' because the source reflection class 'Detail' is associated to 'agreementRoom' via :has_many.
Я не уверен, как заставить этот вложенный атрибут работать с has_many через отношение для приведенного выше примера. Пожалуйста, помогите разобраться в проблеме.
Заранее спасибо.