Dan*_*Dan 20 configuration ruby-on-rails
我有一个相对简单的Rails应用程序,我想存储管理员用户在应用程序运行时可以更改的各种配置设置,例如,允许对帖子发表评论或更改日期的显示格式.
我知道我可以在environment.rb文件中存储常量等,但是这些似乎只在服务器重新启动时才加载.
是否有替代的地方我可以定义这些信息,或者将它保存在数据库中会更好吗?
任何建议表示赞赏
谢谢.
mbi*_*ard 16
您可以使用rails-settings-cached gem,它是rails-settings gem的一个分支(由Yi-Ru Lin在另一个答案中链接).
设置完成后,您将能够执行以下操作:
Setting.foo = 123
Setting.foo # returns 123
Run Code Online (Sandbox Code Playgroud)
您还可以管理模型上的设置,例如:
user.settings.color = :red
user.settings.color # returns :red
Run Code Online (Sandbox Code Playgroud)
您可以使用数据库.创建一个单独的表"设置",用于存储所需的键/值参数.此解决方案的缺点是性能损失(每次需要设置时查询DB).要解决此问题,您可以通过"cache_money"等缓存读取/写入,或使用"Rails.cache"创建自己的缓存
| 归档时间: |
|
| 查看次数: |
18886 次 |
| 最近记录: |