0

約 60 のフィールドを持つ単一の形式のユーザー属性があり、非表示の div をすべて 1 ページに切り替えることで個別に表示されます。他の人のプロファイルを更新すると、すべてのフィールドが期待どおりに更新されます。現在ログインしているプロファイル (current_user) を更新すると、約 40 のフィールドのみが更新されます。current_user プロファイルの update メソッドで私が観察していることは次のとおりです。

@user = User.find(params[:id]) の直後にブレークポイントを設定し、渡されたパラメーターを見ると、60 個のフォーム フィールド パラメーターのうち約 40 個しか存在していません。存在するものは期待どおりに更新され、明らかに存在しないものは更新されません。

この奇妙な動作を引き起こしている可能性があるものについての手がかりはありますか?

例: users/_form.erb の多くの不正なフォーム フィールドの 1 つ

<%= f.text_field :street_address, :placeholder => 'address..'  %>

users_controller.rb の Update メソッド

# UPDATE
  def update   
    @user = User.find(params[:id])
    breakpoint_set = on_this_line
    respond_to do |format|     
      if @user.update_attributes params[:user]
        format.html do
          redirect_to("/users", :notice => 'User Profile was successfully updated.')
          format.xml  { head :ok }
        end
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
      end
    end
  end
4

2 に答える 2