我应该在Rails中放置中等大小的const数组?

时间:2013-03-23 06:13:52

标签: ruby-on-rails ruby rubygems

我有大约50个单词,将来永远不会改变。

FRUITS = [
  "Apple",
  "The strawberry",
  "Grapes",
  ...
  ...
  "Kiwi",
  "Grapefruit",
  "Mellon"
]

当然,我可以将它放到类的顶部,但代码太长了.. 你知道管理这种中等大小const数组的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以将所有这些常量放入YML文件中。

在类的模型/顶部,加载它如:

FRUITS = YAML.load_file('path/to/file')['FRUITS']

yml文件可以包含所有这些全局常量,如水果,蔬菜等。使全局维护/修改所有这些列表变得容易......

答案 1 :(得分:0)

你可以将它放在一个模块中:

module MyFruitsList
  FRUITS = [
    ...
  ]
end

然后将其包含在您的班级中:

class MyClass
  include MyFruitsList
end