Могу ли я сохранить переменную сеанса из метода внутри модели в Rails 3? - PullRequest
0 голосов
/ 24 апреля 2011

Я пытался сделать следующее:

 20       session[:atoken] = linked_in_data['extra']['access_token'].token
 21       session[:asecret] = linked_in_data['extra']['access_token'].secre

т

Это метод внутри модели User.

Но я получаю сообщение об ошибке, указывающее неопределенный метод для сеанса ... почему? Могут ли переменные сеанса быть установлены только в контроллере?

Ответы [ 2 ]

1 голос
/ 24 апреля 2011

Это плохая практика, но если вы должны это сделать:

http://m.onkey.org/how-to-access-session-cookies-params-request-in-model

Но найти обходной путь всегда лучше.Взгляните также на это:

http://media.railscasts.com/videos/119_session_based_model.mov

0 голосов
/ 24 апреля 2011

Сессия не доступна в моделях. Это каким-то образом нарушит структуру MVC приложения. Если вы хотите изменить значения сеанса во время сохранения, обновления и т. Д., Вы можете попробовать использовать Sweeper. См. api . Вы можете получить доступ к атрибутам модели, а также к сеансу и наблюдать за изменениями объекта.

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