0

我最近一直在研究 rails/backbone 应用程序。到目前为止,任何时候用户对应用程序进行了一些特定的更改(例如,选择一个视图而不是其他视图,使用某些过滤器,自定义视图中显示的信息),我会将他/她的选择存储到 rails 会话变量中。使用来自这些会话变量的信息可确保当页面刷新或在同一台计算机上使用应用程序的新实例时,用户的更改仍然存在。在用户退出之前都是这种情况,这会导致会话变量的信息丢失,并在用户下次登录时恢复默认设置。

收到的反馈是,即使用户注销或使用不同的计算机(例如,只要同一用户登录,默认设置应该被他们的更改替换),他们实际上希望他们的更改保持不变。我应该如何实现这个功能?

谢谢!

4

1 回答 1

1

同意Mischa,您应该将数据保存在数据库中。

这是一个如何简单地向用户添加首选项的示例:

class User < ActiveRecord::Base
  serialize :preferences
end

u = User.new
u.preferences = {
   :view => {:controller => :dasboard, :action => :index}, 
   :filters => {
      :users => {
         :order => :email
         :page => 1
         :quantity_per_page => 20
      }
   }
}

确保该字段在数据库中的类型是“文本”

于 2013-02-06T15:03:45.767 回答