Ruby on rails 嵌套表单未正确更新文件字段
我有一个嵌套表单,其中包含用户、个人资料和专业详细信息模型的字段。用户有一个配置文件。配置文件有许多专业详细信息(包含文档作为文件字段和描述文本字段) 我在这里面临的问题是在更新我的个人资料页面时,这是这3个模型的嵌套形式。当我添加新的专业详细信息并提交表单时,旧的专业详细信息将为零,而专业详细信息的新对象将被创建。情人是这样来的Ruby on rails 嵌套表单未正确更新文件字段,ruby-on-rails,ruby,nested-forms,nested-form-for,Ruby On Rails,Ruby,Nested Forms,Nested Form For,我有一个嵌套表单,其中包含用户、个人资料和专业详细信息模型的字段。用户有一个配置文件。配置文件有许多专业详细信息(包含文档作为文件字段和描述文本字段) 我在这里面临的问题是在更新我的个人资料页面时,这是这3个模型的嵌套形式。当我添加新的专业详细信息并提交表单时,旧的专业详细信息将为零,而专业详细信息的新对象将被创建。情人是这样来的 {"utf8"=>"✓", "_method"=>"patch","authenticity_token"=>"+pPcQC1hVJ+u0
{"utf8"=>"✓", "_method"=>"patch","authenticity_token"=>"+pPcQC1hVJ+u0NS+ApOJbfwGG4NCBkURUA+BZ4ZaTMpMKQihrymC7aVl59D89SnGxt08kCMItqph2yXkOp1WsQ==",
"user"=>
{"dob"=>"1944-06-07",
"name"=>"Etikazzz",
"tag_list"=>"",
"profile_attributes"=>
{"gmc_number"=>"",
"phone_number"=>"919999999999",
"description"=>"hellloo",
"job_description"=>"Engineer1",
"professional_details_attributes"=>
{"0"=>{"description"=>"fg", "id"=>"139"},
"1"=>
{"document"=>
#<ActionDispatch::Http::UploadedFile:0xbdd3d160
@content_type="application/pdf",
@headers=
"Content-Disposition: form-data; name=\"user[profile_attributes][professional_details_attributes][1][document]\"; filename=\"pdf-sample.pdf\"\r\nContent-Type: application/pdf\r\n",
@original_filename="pdf-sample.pdf",
@tempfile=#<File:/tmp/RackMultipart20150722-2984-onumi8.pdf>>,
"description"=>"sd"}},
"id"=>"74"}},
"commit"=>"Complete Profile",
"controller"=>"profiles",
"action"=>"complete_profile"}
"0"=>{"description"=>"fg", "id"=>"139"},
{“utf8”=>“✓", "_方法“=>”补丁“,”真实性令牌“=>”+pPcQC1hVJ+u0NS+apojbfwgg4ncbkura+bz4zatmpmkqihrymc7avl59d89sngxt08kmitqph2yxkop1wsq==”,
“用户”=>
{“dob”=>“1944-06-07”,
“名称”=>“Etikazzz”,
“标签列表”=>“”,
“配置文件属性”=>
{“gmc_编号”=>“”,
“电话号码”=>“919999999”,
“description”=>“hellloo”,
“工作描述”=>“工程师1”,
“专业\u详细信息\u属性”=>
{“0”=>{“description”=>“fg”,“id”=>“139”},
"1"=>
{“文件”=>
#,
“description”=>“sd”},
“id”=>“74”},
“提交”=>“完整配置文件”,
“控制器”=>“配置文件”,
“操作”=>“完成配置文件”}
“0”=>{“description”=>“fg”,“id”=>“139”},
这是旧的专业细节对象。文档部分在更新用户后得到nil。
在这种情况下,为什么以前存储的文档会变为零?正如我所说,向
strong_参数
方法添加:id
可以解决问题
params.require(:user).permit(:id,:tag_list,:email,:role_ids, :activation_token,:uid,:provider,:password,:password_confirmation,:name,:avatar,:dob, profile_attributes: [:id,:address,:country_id,:state_id,:city,:gmc_number,:phone_number,:description,:job_description,professional_details_attributes:[:document,:id,:description,:_destroy]])
正如我所说,向
强参数
方法添加:id
应该可以解决您的问题
params.require(:user).permit(:id,:tag_list,:email,:role_ids, :activation_token,:uid,:provider,:password,:password_confirmation,:name,:avatar,:dob, profile_attributes: [:id,:address,:country_id,:state_id,:city,:gmc_number,:phone_number,:description,:job_description,professional_details_attributes:[:document,:id,:description,:_destroy]])
请多注意你的帖子。有一个预览功能,您可以在其中查看格式设置是否有效。另外,请试着写正确的英语,否则你将不会得到任何答案。我试图挽救可能发生的一切。如果您使用的是Rails 4,那么您需要在
strong\u-params
方法中允许:id
,更新才能正常工作。@Pavan感谢您的回答我的建议解决了您的问题吗?您可以添加您的strong\u-params方法,以便我可以添加我的答案吗?请更加小心你的帖子。有一个预览功能,您可以在其中查看格式设置是否有效。另外,请试着写正确的英语,否则你将不会得到任何答案。我试图挽救可能发生的一切。如果您使用的是Rails 4,那么您需要在strong\u-params
方法中允许:id
,更新才能正常工作。@Pavan感谢您的回答我的建议是否解决了您的问题?您可以添加您的strong\u-params方法以便我添加我的答案吗?