0

我需要存储半常数:

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

有什么好方法吗?(我们谈论的只是约 20 个常量)

有 1 个表的解决方案,其列与常量一样多。丑陋。我们的旧应用程序曾经有一个“常量”表,其中一个常量 = 一个条目。但我认为这也很丑陋,因为每种常量都有一个“列”

(我说的是列,因为现在我的应用程序正在使用 ActiveRecord,但我们可能稍后会更改为 mongoid。但是它会带来与只有一个条目的一个表相同的问题)

4

1 回答 1

1

这颗宝石可以满足您的需求。

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' }

由于最后的评论,这里是Mongoid 的相同 gem 的链接

于 2014-09-06T21:06:42.240 回答