Rails 3应用程序/用户设置最佳实践?
我目前需要允许管理员可配置的全局设置以及Rails 3应用程序中的每用户可配置设置。
是否有适用于这种情况的gem或最佳实践?
我发现了几个gem和博客文章,但它们都可追溯到2006-08,不再维护。 任何指针都将不胜感激,谢谢。
注意:我已经看到了序列化哈希响应的这个问题 ,但在我的特定情况下,需要根据用户的设置查询数据库的能力 – 我认为序列化哈希在这种情况下不会很好。
在寻求帮助之后,我的搜索始终如一。 找到了Georg Ledermann的rails-rails设置 ,它看起来就像我需要的那样。
不确定我会为这个function寻找一个库。
对于全局设置,我将创建一个config / application.yml文件并在environment.rb中读取它并将其设置为APP_CONFIG全局。 然后,我将通过使用json编码设置哈希向用户表添加文本列来基于每个用户覆盖这些设置。 向抓取APP_CONFIG的用户模型添加方法,并对解码的用户设置进行深度合并。
另一种选择是创建一个设置表,其中包含user_id列和每个设置的列。 具有null user_id的一行将表示全局设置。 如果当前用户存在一行,则任何非零值都将覆盖全局设置行。
也可以查看https://github.com/railsjedi/rails_config 。 其中有许多function:
- 全球settings.yml
- 每个环境设置文件(settings / development.yml,settings / production.yml等)
- 本地设置文件(settings.local.yml,settings / development.local.yml等)
- 嵌入式ERB支持
- Rails 3 / Padrino / Sinatra支持
对于rails 4,如果您使用的是postgresql,则可以使用HStore ,它就像一个可序列化的属性,但您可以使用它进行SQL查询。
对于rails 3,您可以使用activerecord-postgres-hstore gem。
- Rails,如何将范围与它们之间的“和”运算符链接起来?
- 设计模型多次运行before_save?
- Rails:format.js或format.json,还是两者兼而有之?
- 将api密钥添加到ActiveResource中的每个请求
- Heroku上的OpenSSL :: SSL :: SSLError
- Rails – 如何解决这个孤立迁移问题?
- Heroku错误:ActionView :: Template :: Error(未定义的方法`validation码’用于#)
- 警告:Nokogiri是针对LibXML版本2.7.7构建的,但动态加载了2.6.16
- Rails 4 simple_form has_many通过复选框不保存