我有一个单一形式的用户属性约60个字段,通过在一个页面上切换隐藏div单独显示。更新其他人的个人资料时,所有字段均按预期进行更新。更新当前登录的配置文件(current_user)时,只有大约40个字段会更新。这是我正在观察current_user配置文件的更新方法:红宝石Rails只有一些参数传递给控制器
当在@user = User.find(params [:id])之后直接设置断点并查看传入的参数时,只有大约40个out 60表单字段参数甚至存在。那些目前正在更新的,并且显然不存在的不会更新。
任何线索可能会导致这种奇怪的行为?
示例:用户/ _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
是您的示例代码中的类型? <%= @ .text_field ...? –
这是一个错字,我将它改为f。但不幸的是,这不是问题。 – iamtoc
我试图无效的其他事情是在所有字段上使用attr_accessible并重新启动服务器。我有点想法。 – iamtoc