我的应用程序中的用户可以根据他们正在访问的marketplace
访问不同类型的数据。
因此,用户可访问的不同数据包含marketplace_id
。 Marketplace是一个小型模型对象,仅包含市场名称,ID和描述。
在会话对象中存储用户正在访问的市场是否可以?对象永远不会改变。
我想存储整个对象而不是id,因为我必须在每个屏幕上引用市场名称。
答案 0 :(得分:3)
这实际上取决于您的具体应用,但我建议不要在会话中存储对象。避免这种情况的主要理由是,如果您更改了Marketplace对象中的数据,如果您需要在模型中添加/删除/更改属性,或者您想要添加方法,则可能会出现严重问题你手上的问题。
计算机非常擅长按ID查找表中的条目,所以一般来说我不会担心这种查找可能带来的额外负载。如果这是一个问题,我会考虑在服务器端缓存这些数据。
这是关于这个问题的railcast。同样,你应该完全做出自己的决定,但这些是避免它的原因。