Rails常量可由用户编辑

时间:2014-09-06 20:58:22

标签: ruby-on-rails persistence constants static-variables user-defined

我需要存储半常数:

  • 静态变量(每个应用程序只有一个)
  • 在很多地方使用(有点像模板)
  • 有些超级用户可以编辑它们(前端表单来编辑它们)
  • 持久性(即使使用serverrestart也必须保持其值)
  • 不同类型(DateTime,String,Float,Integer等)

有一个很好的方法吗? (我们只谈论约20个常数)

有1个表的解决方案,其列数与常量一样多。丑陋。 我们以前的旧应用程序有一个表"常数"其中一个常数=一个条目。但我认为这也是丑陋的,因为他们有一个"列"每种类型的常数

(我现在正在讨论列,我的应用程序正在使用ActiveRecord,但我们可能会在以后更改为mongoid。但是,如果只有一个表只有一个表会产生同样的问题)

1 个答案:

答案 0 :(得分:1)

This gem可以满足您的需求。

gem "rails-settings-cached" 

它允许您轻松定义任何设置/常量,如下所示:

Setting.admin_password = 'supersecret'
Setting.date_format    = '%m %d, %Y'
Setting.cocktails      = ['Martini', 'Screwdriver', 'White Russian']
Setting.foo            = 123
Setting.credentials    = { :username => 'tom', :password => 'secret' }

由于上次评论,这里是link to same gem for Mongoid