Рубин на рельсах сеанса информации захватить - PullRequest
0 голосов
/ 15 февраля 2011

Когда я запускаю на своей странице этот код:

<% user = User.find (session [: userid])%>

я получаю ошибку:

строка # 1 поднята:

Не удалось найти пользователя без идентификатора

, хотя у меня в моей аутентификации в моем session_controller это:

def create
    if user = User.authenticate(params[:username],params[:password])
      session[:user_id]= user.id
      session[:language_id]= user.language_id
      User.find(user.id).update_attributes(:last_login => Time.now)
      redirect_to root_path , :notice => (I18n.t :"session.login_success")
    else
      flash.now[:alert] = (I18n.t :"session.error")
      render :action => 'new'
    end
  end

, а сеанс должен содержать идентификатор пользователя

Ответы [ 2 ]

4 голосов
/ 15 февраля 2011

При входе в систему вы устанавливаете session[:user_id] и пытаетесь найти session[:userid] (обратите внимание на ложное подчеркивание). Вот почему.

1 голос
/ 15 февраля 2011

Ваш контроллер ищет параметры session[:user_id], но, по вашему мнению, это session[:userid], поэтому он будет жаловаться, что session[:user_id] равен nil.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...