我正在构建一个Rails 3应用程序,它将具有用户特定的设置(外观,功能等),我正在寻求一些简单的建议,了解实际实现设置的首选方法。
你更喜欢这种东西的专用模型吗?哈希是否可以存储在数据库字段中?您喜欢数据库中的cookie还是会话? STI对象最好吗?
如果可以,可以列出每种不同方法的优点或缺点。
感谢。
答案 0 :(得分:3)
我和你一样,用户特定的设置。在我的应用程序中,我更喜欢创建一个模型来存储用户的配置我是用户模型和User_configuration模型,其中关系是一对一的。
class User < ActiveRecord::Base
has_one :user_configuration
end
class UserConfiguration < ActiveRecord::Base
belongs_to :user, :dependent => :destroy
end
或者,如果您更喜欢使用Hash并将其存储到数据库,则可以将您的字段标记为序列化
class User < ActiveRecord::Base
serialize :preferences, Hash
end
您可以在http://api.rubyonrails.org/classes/ActiveRecord/Base.html
看到它优点: - 到目前为止我没有任何问题,易于维护
缺点: - 在数据库中请求更多表格
可能会对你有所帮助。
答案 1 :(得分:2)
如果您需要一些结构化解决方案,您可以查看: