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

时间:2011-04-20 06:59:53

标签: ruby-on-rails ruby

我正在构建一个Rails 3应用程序,它将具有用户特定的设置(外观,功能等),我正在寻求一些简单的建议,了解实际实现设置的首选方法。

你更喜欢这种东西的专用模型吗?哈希是否可以存储在数据库字段中?您喜欢数据库中的cookie还是会话? STI对象最好吗?

如果可以,可以列出每种不同方法的优点或缺点。

感谢。

2 个答案:

答案 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)

如果您需要一些结构化解决方案,您可以查看:

  1. Configurable Engine
  2. rails-settings