Вопрос сессии Ruby on Rails - PullRequest
       0

Вопрос сессии Ruby on Rails

2 голосов
/ 21 сентября 2010

Рельсы 3.0

После выполнения

rake db:sessions:create

затем добавление строки кода в session_store.rb,

CouponManager::Application.config.session_store :active_record_store

Что еще нужно сделать, прежде чем я смогу использовать такие сеансы, как

session[:ttl_qty] = 5

1 Ответ

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

Это все, что вам нужно сделать.Вы должны быть в состоянии использовать этот хэш сеанса сейчас, и он должен быть постоянным.Проверьте следующий код.

Контроллер

  before_filter :set_user
  def set_user
    if session[:user_id]
      @user = User.find(session[:user_id])
    end
  end

  def login
    if user = User.find(params)
        session[:user_id] = user.id
    end
  end

Просмотр

<div>Hello, <%= @user.email %>!</div>

Вы всегда можете посмотреть в таблице сеансов, чтобы убедиться, что ваши данные получаюттам ... это должно быть в столбце данных (в кодировке base64).Если вы используете sqlite3, вы можете сделать что-то вроде этого:

: sqlite3 db/development.sqlite3     
sqlite> select data from sessions limit 1;
... base64 data ...

Вы можете декодировать данные base64, чтобы посмотреть, что там происходит.Надеюсь, это поможет.

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