我正在构建一个Rails 3应用程序,将具有用户特定的设置(外观、功能等),我想寻求一些简单的建议,关于实际实现设置的首选方式。
您是否喜欢为此使用专用模型?在数据库字段中存储哈希是否可接受?您是否更喜欢cookie或会话而不是数据库?STI对象最好吗?
如果可以的话,也许列出每种不同方法的优缺点。
谢谢。
我正在构建一个Rails 3应用程序,将具有用户特定的设置(外观、功能等),我想寻求一些简单的建议,关于实际实现设置的首选方式。
您是否喜欢为此使用专用模型?在数据库字段中存储哈希是否可接受?您是否更喜欢cookie或会话而不是数据库?STI对象最好吗?
如果可以的话,也许列出每种不同方法的优缺点。
谢谢。
我有和你相似的情况,涉及到用户特定设置。在我的应用程序中,我更喜欢创建一个模型来存储用户的配置信息,我有一个用户模型和一个用户配置模型,两者之间是一对一的关系。
class User < ActiveRecord::Base
has_one :user_configuration
end
class UserConfiguration < ActiveRecord::Base
belongs_to :user, :dependent => :destroy
end
或者如果您喜欢使用哈希并将其存储到数据库中,可以将字段标记为序列化
class User < ActiveRecord::Base
serialize :preferences, Hash
end
你可以在http://api.rubyonrails.org/classes/ActiveRecord/Base.html上查看它。
优点: - 到目前为止,我没有遇到任何问题,易于维护。
缺点: - 请求数据库中更多的表格。
也许它可以帮助你,谢谢。
如果您需要一些结构化的解决方案,您可以查看以下内容: