0

我环顾四周,我不确定如何解决这个问题。我有一个未定义的方法“update_attributes”。我在想这是因为 @user 没有定义。因此,如果我能够定义 @user 它应该能够修复它。问题是我不知道如何定义@user 来修复它。如果有人能指出我正确的方向,那就太好了。

用户.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
4

1 回答 1

2

如果您为资源使用宁静的路径,那么更新操作应该是这样的:

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] 找到用户记录,然后更新用户字段。

于 2013-02-25T17:11:29.603 回答