2013-02-25 175 views
0

我看了一下,我不知道如何解決這個問題。我有一個未定義的方法`update_attributes'。我在想這是因爲@user沒有定義。所以如果我能夠定義@user它應該能夠修復它。問題是我不知道如何定義@user來修復它。如果有人能指出我會朝着正確的方向發展,那將是很棒的。未定義的方法`update_attributes'

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 

回答

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]然後更新用戶字段。

+0

謝謝。這工作。我最初做錯了(我在Stack上提交的代碼之前的代碼)有:id和:用戶在錯誤的地方切換。你把它們放在適合我的順序中。謝謝 – 2013-02-25 17:18:26

相關問題