Имам проблем със запазването на has_many чрез връзка с вложени атрибути. Поради сложността и изискването в приложението връзката е следната
Структура на масата,
agreements:
id
agreement_rooms:
id
agreement_id
room_id
details:
id
agreement_rooms_id
За повече пояснение, таблицата Agreement_rooms е свързана с много други модели, които ще имат 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 чрез релация за горния пример. Моля, помогнете да разберем проблема.
Благодаря предварително.