我尝试执行以下操作:
20 session[:atoken] = linked_in_data['extra']['access_token'].token
21 session[:asecret] = linked_in_data['extra']['access_token'].secre
吨
这是在用户模型中的方法内。
但是我得到一个错误,说明会话的未定义方法...为什么?会话变量只能在控制器中设置吗?
答案 0 :(得分:1)
这是一种不好的做法,但如果你必须这样做:
http://m.onkey.org/how-to-access-session-cookies-params-request-in-model
但是,找到解决方法总是更好。看一看:
http://media.railscasts.com/videos/119_session_based_model.mov
答案 1 :(得分:0)
无法在模型中访问会话。它会以某种方式破坏应用程序的MVC结构。如果要在保存,更新等期间更改会话值,可以尝试使用sweeper。请参阅api。您也可以访问模型的属性和会话,并且可以观察对象的更改。