Я не могу изменить параметры сеанса

Я следую http://railscasts.com/episodes/241-simple-omniauth, чтобы добавить метод аутентификации для моего приложения RoR.

Контроллер сеанса может получать доступ и изменять значения params[:user_id]. Я вижу это с сеансами повышения[:user_id].to_yaml

Однако я не могу изменить эти значения на другой странице.

Он показывает значения для повышения session[:user_uid].to_yaml , но не для повышения params[:user_uid].to_yaml

Если проблема в том, что параметры должны включать сеанс, а его там нет.

Пожалуйста, помогите, я боролся с этим в течение нескольких дней. Спасибо.

PD: весь код находится на [email protected]:brunosan/papernote.git

PPD: Если я клонирую и запускаю git-репозиторий railscasts и запускаю его, он работает. Я просмотрел файл за файлом, чтобы увидеть различия, и я не могу их понять.


person brunosan    schedule 29.12.2010    source источник


Ответы (1)


Похоже, вы используете session[:user_uid] в действии SessionsController#create, но session[:user_id] в другом месте. Будьте уверены, чтобы быть последовательным здесь.

Кроме того, сеанс — это другое хранилище, чем параметры, поэтому они не будут содержать одни и те же значения. Если вы настраиваете/получаете user_id, лучше всегда работать с сеансом, а не с хэшем параметров.

person ryanb    schedule 29.12.2010
comment
Спасибо чувак. После 2 часов ночи человек становится слепым к таким глупым ошибкам. Я очень ценю помощь. - person brunosan; 31.12.2010