Ruby on rails 嵌套表单未正确更新文件字段

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

我有一个嵌套表单,其中包含用户、个人资料和专业详细信息模型的字段。用户有一个配置文件。配置文件有许多专业详细信息(包含文档作为文件字段和描述文本字段)

我在这里面临的问题是在更新我的个人资料页面时,这是这3个模型的嵌套形式。当我添加新的专业详细信息并提交表单时,旧的专业详细信息将为零,而专业详细信息的新对象将被创建。情人是这样来的

 {"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,:_d‌​estroy]])

正如我所说,向
强参数
方法添加
: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,:_d‌​estroy]])

请多注意你的帖子。有一个预览功能,您可以在其中查看格式设置是否有效。另外,请试着写正确的英语,否则你将不会得到任何答案。我试图挽救可能发生的一切。如果您使用的是Rails 4,那么您需要在
strong\u-params
方法中允许
:id
,更新才能正常工作。@Pavan感谢您的回答我的建议解决了您的问题吗?您可以添加您的strong\u-params方法,以便我可以添加我的答案吗?请更加小心你的帖子。有一个预览功能,您可以在其中查看格式设置是否有效。另外,请试着写正确的英语,否则你将不会得到任何答案。我试图挽救可能发生的一切。如果您使用的是Rails 4,那么您需要在
strong\u-params
方法中允许
:id
,更新才能正常工作。@Pavan感谢您的回答我的建议是否解决了您的问题?您可以添加您的strong\u-params方法以便我添加我的答案吗?