Ruby on rails 有限的选项是否应该存储在RubyonRails中的全局数组和数据库中?

Ruby on rails 有限的选项是否应该存储在RubyonRails中的全局数组和数据库中?,ruby-on-rails,ruby,Ruby On Rails,Ruby,一个简单的问题,但不确定如何最好地解决。在为用户处理少量选项时,最好将其存储在数据库中、全局数组中还是以其他方式 例如,我希望有一个用户可以选择的预算。一个选项是,我使用可用选项创建了一个初始值设定项文件: BUDGETS = ['Negotiable', '< $500', '$501-1000', '$1000-5000', '> $5000' ] BUDGETS=[‘可协商’、‘500美元’、‘501-1000美元’、‘1000-5000美元’、‘5000美元以上’] 另一

一个简单的问题,但不确定如何最好地解决。在为用户处理少量选项时,最好将其存储在数据库中、全局数组中还是以其他方式

例如,我希望有一个用户可以选择的预算。一个选项是,我使用可用选项创建了一个初始值设定项文件:

BUDGETS = ['Negotiable', '< $500', '$501-1000', '$1000-5000', '> $5000' ]
BUDGETS=[‘可协商’、‘500美元’、‘501-1000美元’、‘1000-5000美元’、‘5000美元以上’]
另一个选项是创建一个预算表并列出这些相同的选项。这似乎有些过分,而且我会经常查询数据库以获取这样一组简单的数据。虽然,它可能会更容易编辑前进

最终,我在尝试使用全局数组过滤索引页上的结果时遇到了一个问题。我很难通过GET字符串发送类似“<$500”的内容以进行查询。。。于是开始考虑制作一个全局散列。开始变得复杂了,所以我想有一个简单的方法来做到这一点

gem似乎适合这个用途


顺便说一下,枚举很快就会在ActiveRecord中实现:

为了永久性,您必须将数据保存在磁盘上的某个地方

您可以使用YAML数据文件,无需打开一些数据库前端或编写管理页面,就可以轻松地进行修改。YAML文件也可以很容易地从其他编程语言读取,因此您不局限于Ruby读取相同的资源

稍后,当您准备升级到一个真正的系统,并将数据移动到它真正属于的数据库或数据存储中时,您可以轻松地读取并插入这些记录

在这两种情况下,如果资源不会消耗应用程序用于其他事情所需的大量内存,则可以将它们拉入哈希并从中访问它们。同样,YAML也很容易融入其中,就像ORM从数据库中检索一样


有很多更复杂的方法来处理这个问题,使用缓存和各种类型的内存中数据存储,这将超过数据库,但对于您的系统来说,这些方法是可行的。

数据库更好,因为它为您提供了更大的灵活性。您可以稍后根据用户进行更改,这样更安全。在大多数情况下不建议使用全局变量,这被认为是一种不好的做法。您可以在helper中创建一个方法来返回该数组