Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 更新时不保存数据的字段\u_Ruby On Rails_Fields For - Fatal编程技术网

Ruby on rails 更新时不保存数据的字段\u

Ruby on rails 更新时不保存数据的字段\u,ruby-on-rails,fields-for,Ruby On Rails,Fields For,我正在尝试为带有字段的用户执行编辑操作。 问题是它无法在用户中保存pro参数。它不会更新pro属性 我有两种型号,pro和user`` 用户有一个pro,pro属于用户 在用户模型中,我将:accepts\u nested\u attributes\u for:pro,allow\u destroy:true 在用户控制器中,我将: 最后,在我的edit.html.erb视图中,我在表单中添加了: 试试这个: pro=@user.build_proparams[:pro_属性] 尝试更改强参数方

我正在尝试为带有字段的用户执行编辑操作。 问题是它无法在用户中保存pro参数。它不会更新pro属性

我有两种型号,pro和user``

用户有一个pro,pro属于用户

在用户模型中,我将:accepts\u nested\u attributes\u for:pro,allow\u destroy:true

在用户控制器中,我将:

最后,在我的edit.html.erb视图中,我在表单中添加了:

试试这个:

pro=@user.build_proparams[:pro_属性]


尝试更改强参数方法,您需要传递id以进行更新

params.require(:user).permit(:id, :name, :pro, :tos_agreement, :avatar,
                                 :avatar_cache, :is_pro,:email, :password,
                                 :password_confirmation,
                                 pro_attributes: [
                                   :user_id, :type, :pro_name, :is_pro, :pro_image,
                                   :is_active, :web, :user_id, :about,
                                   :facebook, :twitter, :linkedin, :telephone])

你在哪里运行@user.updateuser_params?它不见了,我试过使用def update@user=user.friendly.findparams[:id]@user.updateuser_params pro=@user.build_proparams[:pro_attributes]end:::但它不起作用。你的参数错了。用户哈希中没有pro_属性哈希。你的表格一定有问题。可能是因为:pro的字段应该是@user.pro的字段。我想你是对的。我不知道我的关系是否正确,因为@user.pro为零。我有一个用户:pro,pro属于user。在Pro表中,我有user_id列。我遗漏了什么吗?将@user.pro.build添加到您的编辑操作中,否则它将为零。我尝试了以下方法:def update@user=user.friendly.findparams[:id]@user.updateuser\u params pro=@user.build\u proparams[:pro\u attributes]结束,但仍然无法保存…不幸的是,还可以尝试在endIve中保存或更新日志,看看是否看到了什么!我什么都看不到:我看到pro的参数不在用户参数内。问题出在哪里?也许在:pro的字段中?我添加了日志,看看你是否看到了什么!我什么都看不到:你能粘贴user_params方法的输出吗?user=>{avatar_cache=>,name=>user 5,email=>prueba5@prueba.com,description=>Et doloremque repudiandae alias odit quis rerum.,location=>Bilbao,password=>[FILTERED],password\u confirmation=>[FILTERED]},pro=>{facebook=>TESTTTTTTT,twitter=>TESTTTTTTT,linkedin=>TESTTTTTTT},提交=>Modificar}
     <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
    <ul class="accordion-submenu">
      <li class="semi_padding">
          <%= f.label :nombre %>
          <%= f.text_field :name, :autofocus => true %>
          <%= f.label :email %>
          <%= f.email_field :email %>
          <%= f.label "Algo sobre tí" %>
          <%= f.text_field :description, placeholder: "Soy una persona amante de la decoración..." %>
          <%= f.label "Lugar" %>
          <%= f.text_field :location , placeholder: "¿De donde eres? Ej: Bilbao"%>
      </li>
    </ul>
  </li>
    <li>
    <a href="javascript:void(0)" class="js-accordion-trigger">
    <i class="icon-switch"> </i> Contraseña</a>
    <ul class="accordion-submenu">
      <li class="semi_padding">
        <%= f.label :contraseña %>
        <%= f.password_field :password, :autocomplete => "off" %>
        <%= f.label "Confirmación de contraseña" %>
        <%= f.password_field :password_confirmation %>
      </li>
    </ul>
  </li>
  <% if @user.has_role :pro %>
   <li>
    <a href="javascript:void(0)" class="js-accordion-trigger">
    <i class="icon-store"> </i> Datos de marca PRO</a>
    <ul class="accordion-submenu">
      <li class="semi_padding">
       <%= fields_for @user.pro do |builder| %>
        <%= builder.label :facebook %>
        <%= builder.text_field :facebook, placeholder: "Facebook URL" %>
        <%= builder.label :twitter %>
        <%= builder.text_field :twitter,  placeholder: "Twitter URL" %>
        <%= builder.label :linkedin %>
        <%= builder.text_field :linkedin,  placeholder: "Linkedin URL"%>
      <% end %>
      </li>
    </ul>
  </li>
  <% end %>
Started PUT "/users" for 127.0.0.1 at 2015-01-29 19:25:17 +0100
Processing by RegistrationsController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"+6D1uzTbQioSLgcxgnMEJOw1ADTgId8LUrCCwiQXpcg=", "user"=>{"avatar_cache"=>"", "name"=>"User 5", "email"=>"prueba5@prueba.com", "description"=>"Et doloremque repudiandae alias odit quis rerum.", "location"=>"Bilbao", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "pro"=>{"facebook"=>"TESTTTTTTT", "twitter"=>"TESTTTTTTT", "linkedin"=>"TESTTTTTTT"}, "commit"=>"Modificar"}
  User Load (0.9ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 6 ORDER BY "users"."id" ASC LIMIT 1
  Notification Load (0.3ms)  SELECT "notifications".* FROM "notifications" WHERE "notifications"."user_id" = $1 AND "notifications"."viewed_at" IS NULL ORDER BY "notifications"."created_at" DESC LIMIT 30  [["user_id", 6]]
  Notification Load (0.2ms)  SELECT "notifications".* FROM "notifications" WHERE "notifications"."user_id" = $1 AND (viewed_at IS NOT NULL) ORDER BY "notifications"."created_at" DESC LIMIT 30  [["user_id", 6]]
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 5]]
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 7]]
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 6]]
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1  [["id", 6]]
   (0.1ms)  BEGIN
   (0.1ms)  COMMIT
Redirected to http://localhost:3000/
Completed 302 Found in 23ms (ActiveRecord: 2.2ms)
params.require(:user).permit(:id, :name, :pro, :tos_agreement, :avatar,
                                 :avatar_cache, :is_pro,:email, :password,
                                 :password_confirmation,
                                 pro_attributes: [
                                   :user_id, :type, :pro_name, :is_pro, :pro_image,
                                   :is_active, :web, :user_id, :about,
                                   :facebook, :twitter, :linkedin, :telephone])