0

私は周りを見回しましたが、この問題を解決する方法がわかりません。未定義のメソッド update_attributes があります。@user が定義されていないためだと思います。@user を定義できれば、修正できるはずです。問題は、それを修正するために @user を定義する方法がわからないことです。誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.

ユーザー.コントローラー.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

リソースに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]からユーザーレコードを検索し、次にユーザーフィールドを更新します。

于 2013-02-25T17:11:29.603 に答える