我环顾四周,我不知道如何解决这个问题。我有一个未定义的方法`update_attributes'。我在想它是因为没有定义@user。因此,如果我能够定义@user,它应该能够修复它。问题是我不知道如何定义@user以便修复它。如果有人能指出我正确的方向,那就太好了。
Users.controller.rb:
def edit
@user = User.find(params[:id])
end
def update
@user.update_attributes(params[:id])
flash[:success] = "Account updated"
sign_in @user
redirect_to @user
else
render 'edit'
end
答案 0 :(得分:1)
如果您使用资源的restful路径,那么更新操作应该是这样的:
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "Account updated"
sign_in @user
redirect_to @user
else
render 'edit'
end
end
我们基本上首先通过params [:id]找到用户记录,然后更新用户字段。