骨干应用程序:存储用户设置

时间:2013-02-06 14:37:42

标签: ruby-on-rails ruby-on-rails-3 backbone.js

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

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

谢谢!

1 个答案:

答案 0 :(得分: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
      }
   }
}

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