項目嵌套屬性和任務有一個一對多的關係,以及項目accepts_nested_attributes_for:任務。保存陣列accepts_nested_attributes_for
在形式,我的任務對象的樣子:
項目[任務] [2] [assigned_time] 項目[任務] [2] [DUE_TIME]
當提交表單時,我得到hash:
參數:{「utf8」=>「✓」,「authenticity_token」=>「... =」,「project」=> {「id」=>「1」,「tasks」 => { 「1」=> { 「assigned_time」=> 「09:00」, 「DUE_TIME」=> 「17:00」}, 「2」=> { 「assigned_time」=> 「09:00」,「 DUE_TIME 「=>」 17:00" }}
然後我EXPEC只需保存項目對象即可保存它們: project = Project.find(params [:id])
respond_to do | format | 如果project.update_attributes(PARAMS [:任務])
,但我得到: 警告:不能大規模指派保護的屬性:id SQL(0.3ms的)ROLLBACK 在169ms
ActiveRecord的完成: :AssociationTypeMismatch(任務(#2188181260)預期,得到了陣列(#2151973780)):
任何想法如何解決這一問題?
其實我不得不定義task_attributes =。我不完全理解它,但它工作。我很好奇,因爲如果有人知道 – 99miles 2011-05-01 17:58:54
添加您的項目模型質疑的解釋,請 – crsde 2011-05-01 18:02:32
attr_accessible在導軌4贊成強參數棄用 – 2017-09-25 22:01:41