我正在关注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存储库并运行它,它就可以了。我逐个文件地查看差异,但我无法得到它。
答案 0 :(得分:2)
看起来你在SessionsController #create动作中使用session[:user_uid]
但在其他地方使用session[:user_id]
。一定要在这里保持一致。
此外,会话是与params不同的商店,因此它们不会包含相同的值。如果你是设置/得到user_id
,最好总是使用会话,而不是params hash。