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

Ruby on rails 在RubyonRails3应用程序中实现设置的首选方法是什么?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在构建一个Rails 3应用程序,该应用程序将具有特定于用户的设置(外观、功能等),并且我正在寻求一些关于实际实现设置的首选方式的简单建议 你喜欢这种东西的专用模型吗?散列是否可以存储在数据库字段中?与数据库相比,您更喜欢cookie还是会话?STI对象最好吗 如果可以的话,可以列出每种不同方法的优点或缺点 谢谢。我和你有同样的情况,用户特定的设置。在我的应用程序中,我更喜欢创建一个模型来存储用户的配置。我有用户模型和用户配置模型,它们之间的关系是一对一的 class User < A

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

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

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


谢谢。

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

class User < ActiveRecord::Base
  has_one :user_configuration
end

class UserConfiguration < ActiveRecord::Base
  belongs_to :user, :dependent => :destroy
end
class用户:destroy
结束
或者,若您喜欢使用散列并将其存储到数据库,则可以将字段标记为序列化

class User < ActiveRecord::Base
  serialize :preferences, Hash
end
class用户
你可以在

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

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


可能会对您有所帮助,谢谢。

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


  • 谢谢你指出这些宝石。我可能会尝试一下,等我自己把它放进rails里。谢谢!这就是我所追求的。我确信这也取决于项目的规模。我决定采用模型方法。我认为最终,随着应用程序的增长,从长远来看,这将更容易维护。我还读到,序列化有其局限性,取决于存储在其中的数据库中文本字段的大小,这可能是由于返回损坏的数据而引起的另一个问题。总的来说,我相信性能问题可以得到缓解,如果出现最坏的情况,您可以将密钥/值存储对转移到服务上,以减轻数据库的负载。