2013-12-10 70 views
0
def create 
    @user = User.find_by(email: params[:session][:email].downcase) 
    if user && user.authenticate(params[:session][:password]) 
    sign_in user 
    redirect_to user 
    else 
    flash[:error] = 'Invalid email/password combination' 
    render 'new' 
    end 
end 

通過使用上面的代碼,我無法登錄到我的詳細信息。希望,有些人會幫我出這個....SessionsController中的NoMethodError#create(undefined method`find_by')

由於提前

+0

你正在滾動自己的身份驗證,或使用喜歡Devise? –

+0

參考:http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-find_by –

回答

2

create方法改變你的第一行:

@user = User.find_by_email(params[:session][:email].downcase) 

你得到這個錯誤的原因是你可能在Rails 3應用程序中使用Rails 4 find_by方法。

+0

明白了.....謝謝你..... – user3074285

+0

爲什麼我無法得到來自相同代碼的Flash消息? – user3074285

+0

@ user3074285因爲它應該是'flash.now [:error]'。 –

相關問題