ruby-on-rails – 嵌套表单和update_attributes
发布时间:2020-12-17 04:03:31 所属栏目:百科 来源:网络整理
导读:我无法更新多级嵌套表单中的数据.我使用partials来包含create的所有字段.更新视图,我没有创建问题.只有更新. 基本上结构(简化)是: user has_one profileprofile has_many addressesform_for @user do |u| u.fields_for :profile do |p| p.fields_for :addre
我无法更新多级嵌套表单中的数据.我使用partials来包含create&的所有字段.更新视图,我没有创建问题.只有更新.
基本上结构(简化)是: user has_one profile profile has_many addresses form_for @user do |u| u.fields_for :profile do |p| p.fields_for :addresses do |a| 就像我说的,创建用户,配置文件和地址工作正常.直到我试图更新我发现问题.我没有收到错误,它实际上显示它已成功更新.它实际上正确地更新了用户&个人资料字段,而不是地址字段. 这里是堆栈跟踪更新的参数. (再次,总结和格式化) Parameters: {"controller"=>"profiles","action"=>"update","_method"=>"put","id"=>"1","user"=>{"login" => "username","profile_attributes"=>{"first_name"=>"Admin","addresses_attributes"=>{ "0"=>{"address"=>"123 Address Ave.","city"=>"Cityville","state"=>"CA"} } } } } 我能找到的所有文档只显示1个嵌套表单,所以我不确定我是否正确使用update_attributes超过1级深度. 有什么想法吗? 解决方法
您是否在模型中的任何位置使用attr_accessible,以将允许进行批量分配的字段列入白名单?如果是这样,那么你将
also need to add
attr_accessible :address_attributes 允许将这些属性传递给update_attributes. 如果你还没有使用attr_accessible(或者不推荐使用attr_protected的姐妹),那么不要添加这一行,因为它会阻止所有你保存的属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 【那年那人那linux】“正则表达式”初窥之二则问题
- Pytest学习(三) - setup和teardown的使用
- Swift 中的闭包和 Objective-C 中的Block
- c# – 信号量是否会阻止指令重新排序?
- ruby-on-rails – 是否可以将Guard与并行测试结合使用?
- c# – 使用MVC,IMG标记,Url.Action和TempData的IE9意外行为
- postgresql – 复合索引是否也适用于第一个字段的查询?
- cocos2d-x 左下角的FPS,3行数字分别表示什么?
- cocos2d-x v3.9 与MoveBy和MoveTo之间的对话
- c# – 在多级wpf视图中验证子记录