我无法更改会话参数

时间:2010-12-29 01:59:14

标签: ruby-on-rails session params

我正在关注http://railscasts.com/episodes/241-simple-omniauth为我的RoR应用添加身份验证方法。

会话控制器可以访问和修改params [:user_id]值。我可以通过提升会话[:user_id] .to_yaml

看到

但是,我无法在其他页面上修改这些值。

确实显示了值 提升会话[:user_uid] .to_yaml ,但不是 提升参数[:user_uid] .to_yaml

如果问题是params应该包括会话,那就不存在了。

请帮助,我已经和它斗争了好几天了。感谢。

PD:整个代码在git@github.com上:brunosan / papernote.git

PPD:如果我克隆并运行railscasts git存储库并运行它,它就可以了。我逐个文件地查看差异,但我无法得到它。

1 个答案:

答案 0 :(得分:2)

看起来你在SessionsController #create动作中使用session[:user_uid]但在其他地方使用session[:user_id]。一定要在这里保持一致。

此外,会话是与params不同的商店,因此它们不会包含相同的值。如果你是设置/得到user_id,最好总是使用会话,而不是params hash。