Ruby on rails Rails 3应用程序/用户设置最佳实践?

Ruby on rails Rails 3应用程序/用户设置最佳实践?,ruby-on-rails,configuration,ruby-on-rails-3,rubygems,settings,Ruby On Rails,Configuration,Ruby On Rails 3,Rubygems,Settings,我目前需要在Rails 3应用程序中允许管理员可配置的全局设置和用户可配置的设置 在这种情况下,是否有任何gem或最佳实践可以很好地发挥作用 我发现了一些gems和博客文章,但它们都可以追溯到2006-08年,不再被维护。如有任何建议,将不胜感激,谢谢 注意:我已经看到了序列化哈希响应,但在我的特殊情况下,需要能够根据用户的设置查询数据库-我认为序列化哈希在这种情况下不会很好地工作。像往常一样,在请求帮助后,我的搜索结果会很好。发现它似乎可以满足我的需要。我不确定是否会为此函数查找库 对于全局设

我目前需要在Rails 3应用程序中允许管理员可配置的全局设置和用户可配置的设置

在这种情况下,是否有任何gem或最佳实践可以很好地发挥作用

我发现了一些gems和博客文章,但它们都可以追溯到2006-08年,不再被维护。如有任何建议,将不胜感激,谢谢


注意:我已经看到了序列化哈希响应,但在我的特殊情况下,需要能够根据用户的设置查询数据库-我认为序列化哈希在这种情况下不会很好地工作。

像往常一样,在请求帮助后,我的搜索结果会很好。发现它似乎可以满足我的需要。

我不确定是否会为此函数查找库

对于全局设置,我将创建一个config/application.yml文件,并在environment.rb中读取它,然后将其设置为APP_config global。然后,我将通过使用json编码的设置哈希向用户表添加一个文本列来覆盖每个用户的设置。向用户模型添加一个方法,该方法获取APP_CONFIG并对解码的用户设置进行深度合并

另一个选项是创建一个设置表,其中包含一个user_id列,以及每个设置的列。一行用户id为空表示全局设置。如果当前用户存在一行,任何非nil值都将覆盖全局设置行。

可能还需要查看。它有许多特点:

  • 全局设置.yml
  • 每个环境设置文件(settings/development.yml、settings/production.yml等)
  • 本地设置文件(settings.Local.yml、settings/development.Local.yml等)
  • 嵌入式雇员再培训局支持
  • 轨道3/Padrino/Sinatra支架

对于rails 4,如果您使用的是postgresql,则可以使用,这与可序列化属性类似,但您可以使用它执行SQL查询


对于rails 3,您可以使用gem。

感谢您的回复。以上两种方法都绝对有效。最后,我使用了Rails设置gem的Rails 3分支,因为它还可以轻松地将设置应用于多种模型类型(我有全局设置以及管理员、用户和用户个人试镜等设置)。我在Rails 3.2中接受的答案中遇到了很多问题。这个解决方案我在几分钟内就开始运行了。我为我的数据库列进行了YAML序列化,并设置了一个类似于此处所述的初始值设定项作为后续操作,如果您只是在寻找系统范围内的配置,那么有一个新选项看起来很不错-感谢它,它看起来像一个非常棒的宝石。可能与110hz的rails设置和缓存相重复:)