2013-02-06 39 views
0

我最近一直在研究rails/backbone应用程序。到目前为止,只要用户对应用程序进行了一些特定的更改(例如选择了一个视图,使用了某些过滤器,定制了视图中显示的信息),我就会将他/她的选择存储到rails会话变量中。使用来自这些会话变量的信息确保用户的更改在页面刷新时或在同一台计算机上使用应用程序的新实例时保持不变。直到用户注销为止,这会导致会话变量信息丢失,并在用户下次登录时丢失默认设置。骨干应用程序:存储用户设置

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

谢谢!

+0

你应该保存在数据库中,而不是在数据会议。 – Mischa

回答

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 
     } 
    } 
} 

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