2013-02-25 3 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

이 같은해야 다음 조치를 업데이트 자원에 대한 편안한 경로를 사용하는 경우 :

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 

우리는 기본적으로 제 1 관통 사용자 레코드를 찾을 수 params [: id]를 입력하고 사용자 필드를 업데이트하십시오.

+0

감사합니다. 그게 효과가 있었어. 내가 원래 잘못 했었던 (Stack에서 여기에 제출 한 코드 이전의 코드) : id 및 : user가 잘못된 위치에서 전환했습니다. 너는 그들을 나를 위해 적절한 순서로 놓았다. 감사 –

관련 문제