2013-03-31 2 views
0
def create 
    user = User.find_by_name(params[:name]) 

    if user and user.authenticate(params[:password]) 
    session[:user_id] = user.id 
    redirect_to admin_url 
    else 
    redirect_to login_url, alert: "Invalid user/password combination" 
    end 

end 

여기 왜 사용자가 인스턴스 변수 @user 대신 로컬 변수로 선언 되었습니까?@var를 인증에 사용하지 않는 이유는 무엇입니까?

답변

2

아마도보기에는 user 개체에 대한 액세스가 필요하지 않기 때문일 수 있습니다. 유효한 사용자인지 제대로 인증되었는지 인스턴스화하여 관리 페이지로 리디렉션합니다.

0

당신은 일반적으로 작업

0

이 작업에 필요한 더보기가 없기 때문에 대답은 외부 사용자 변수에 액세스 할 필요가 없습니다 때문입니다. 액션은 리디렉션되는 if else 블록을 포함하므로 인스턴스 변수를 사용하지 않습니다.

관련 문제