我有大约 60 个字段的单一形式的用户属性,通过在一个页面上切换隐藏的 div 来单独显示。更新其他人的个人资料时,所有字段都会按预期更新。更新当前登录的配置文件 (current_user) 时,只有大约 40 个字段会更新。这是我在 current_user 配置文件的更新方法上观察到的内容:
当直接在@user = User.find(params[:id]) 之后设置断点并查看传递的参数时,60 个表单字段参数中只有大约 40 个存在。存在的会按预期更新,显然不存在的不会更新。
关于可能导致这种奇怪行为的任何线索?
示例:users/_form.erb 上许多行为不端的表单字段之一
<%= f.text_field :street_address, :placeholder => 'address..' %>
users_controller.rb 中的更新方法
# 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