首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在会话中存储用户数据-标准实践

在会话中存储用户数据-标准实践
EN

Stack Overflow用户
提问于 2013-09-05 15:51:02
回答 1查看 332关注 0票数 1

我在SO和Google上看到了一些关于为会话存储用户数据的信息,但大多数都是针对PHP而不是Rails的。

此外,我还在RailsCasts上看过RailsCasts。

假设我有一个登录的用户,我想从用户那里访问一些基本的首选项,比如:邮政编码、高度、重量,或者其他10件我以后想要访问的东西。

我应该吗?

  1. 将这10件东西存储在散列会话变量中? 例如,session[:user_prefs] = User.find(:first)
  2. 只需将用户的ID存储为sesion变量,然后运行查询以访问邮政编码、高度、重量等? 例如,session[:user_id] = User.find(:first).id
  3. 还是,我应该做什么完全不同的事情?

我不确定这种情况下的标准编码实践或最佳实践是什么。

任何帮助都会很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-05 16:05:48

备选案文2是要走的路。

选项1为“否”,因为一旦更新用户信息,会话数据将与数据库不同步。例如,您在用户登录时将这十个字段存储在会话中,然后在应用程序中,用户更新这十个字段中的一个,现在会话数据与数据库不同步。您可以定义一个函数,在其中一个属性更改时更新会话数据,但我认为这会给应用程序增加不必要的额外复杂性。

选项3,我想不出有什么东西可以代替这个要求的会话。还有其他实现会话逻辑的方法,但它们只是您已经提供的(由Rails提供的)会话实现的版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18640811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档