約 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