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

Bra*_*lva 5 ruby ruby-on-rails

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

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

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

谢谢.

Agu*_*tyo 4

我和你有同样的情况,用户特定的设置。在我的应用程序中,我更喜欢创建一个模型来存储用户的配置,我有 User 模型和 User_configuration 模型,其中关系是一对一的。

class User < ActiveRecord::Base
  has_one :user_configuration
end

class UserConfiguration < ActiveRecord::Base
  belongs_to :user, :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)

或者,如果您更喜欢使用哈希并将其存储到数据库中,可以将您的字段标记为序列化

class User < ActiveRecord::Base
  serialize :preferences, Hash
end
Run Code Online (Sandbox Code Playgroud)

你可以在http://api.rubyonrails.org/classes/ActiveRecord/Base.html看到它

优点: - 到目前为止我还没有遇到任何问题,很容易维护

缺点: - 在数据库中请求更多表

也许它可以帮助你谢谢。