неопределенный метод 'find_by_email' Ошибка - PullRequest
2 голосов
/ 07 марта 2012

Хорошо, я работаю над этим около 2 часов, и я уверен, что есть очень простое решение, но, к сожалению, как новичок, я не могу его найти.

Я настроил базовую систему регистрации и входа в систему после урока № 270 Райана Бейтса.

Я продолжаю получать ту же ошибку при попытке входа в систему.

undefined method `find_by_email' for nil:NilClass

У меня установлен контроллер сессий следующим образом:

class SessionsController < ApplicationController
    def new
    end

    def create
        user = user.find_by_email(params[:email])
        if user && user.authenticate(params[:password])
            session[:user_id] = user.id
            redirect_to root_url, :notice => "Logged in!"
        else
            flash.now.alert = "Invalid email or password"
            render "new"
        end
    end

    def destroy
        session[:user_id] = nil
        redirect_to root_url, :notice => "Logged Out!"
    end

end

Но я действительно не уверенкак определить find_by_email.

Любой совет, который мне могут дать по этому вопросу, был бы очень признателен

1 Ответ

7 голосов
/ 07 марта 2012
user.find_by_email(params[:email])

должно быть

User.find_by_email(params[:email])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...