【发布时间】:2013-09-05 15:51:02
【问题描述】:
我在 SO 和 Google 上看到了一些关于为会话存储用户数据的信息,但大多数是针对 PHP 而不是 Rails。
另外,我在 RailsCasts 上看过 Dangers of Model in Session。
假设我有一个登录的用户,我想访问用户的一些基本首选项,例如:邮政编码、身高、体重,也许还有 10 个其他我想稍后访问的东西。
我应该吗?
-
将这 10 个东西存储在一个散列会话变量中?
例如,
session[:user_prefs] = User.find(:first) -
只需将用户的 ID 存储为会话变量,然后运行查询以访问邮政编码、身高、体重等?
例如,
session[:user_id] = User.find(:first).id 或者,我应该做一些完全不同的事情吗?
我不确定这种情况下的标准编码实践或最佳实践是什么。
任何帮助都会很棒。
【问题讨论】:
-
如果您专门使用默认的 cookie 存储,大型会话对象显然不起作用。会话也可以在数据库中,并且您将有相同的查找惩罚,它只会被自动处理。没有“应该”,只有“选择”。
标签: ruby-on-rails session