在Ruby on Rails 3应用程序中实现设置的首选方法是什么?

问题描述

| 我正在构建一个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上看到它 优点: -到目前为止,我没有任何问题,易于维护 缺点: -在数据库中请求更多表 也许可以帮助您,谢谢。,如果您需要一些结构化的解决方案,则可以看看: 可配置引擎 或导轨设置