ruby-on-rails-4 – 嵌套属性的强参数在空数组时返回“未准许的
发布时间:2020-12-16 22:32:15 所属栏目:百科 来源:网络整理
导读:假设一个用户模型 使用Rails4和strong_parameters. 假设一个用户模型 class User ActiveRecord::Base has_secure_password accepts_nested_attributes_for :identity// rest of code omitted for brevityend 如果我参考指南,我应该能够做到 def user_params
假设一个用户模型
使用Rails4和strong_parameters. 假设一个用户模型 class User < ActiveRecord::Base has_secure_password accepts_nested_attributes_for :identity // rest of code omitted for brevity end 如果我参考指南,我应该能够做到 def user_params params.require(:user).permit(:email,identity_attributes: []) end 允许对每个identity_attributes进行mass_assignment的任何名称或号码.但是这个运行在一个“未经许可的参数:identity_attributes” 但是如果我指定了identity_attributes它是有效的 我在身份中有很多属性,我可以通过用户对它们进行mass_assign,而不指定它们. 我错过了什么吗?这是一个bug吗? 干杯 解决方法
您必须指定要更新的身份属性,包括身份实体的:id.
你会有这样的东西: def user_params params.require(:user).permit(:email,identity_attributes: [:id,:last_name,:first_name]) end 如果不指定:id,则Rails将尝试创建一个实体,而不是更新它.我花了所有的周末挣扎在一个简单的一对多关系使用accept_nested_attributes_for因为我没有指定允许的属性的id. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |