如何访问 rails 中的 YML 文件
How to access YML file in rails
我已经在我的配置文件夹中设置了一个 settings.yml 文件,其中包含一些我想传递给我的 rails 模型中的枚举的列表元素:
config/ settings.yml
enumerize:
hotel_status:
- "Hotel Privé"
- "Bâtiment Publique"
- "CHRS"
- "CADA"
- "Centre d'accueil"
- "Camping"
- "Autres"
我正在尝试在我的酒店模型中传递列表以这种方式枚举:
enumerize :status, in: Settings.enumerize.hotel_status
但我得到 uninitialized constant Hotel::Settings
如何通过 YML 中的列表进行枚举。
在 config/initialize 中设置初始化程序,也许 load_settings.rb
require 'yaml'
settings = YAML.load_file(Rails.root.join('config', 'settings.yml')
EnumerizedValues = OpenStruct(settings['enumerize'])
然后你可以做
enumerize :status in: EnumerizedValues.hotel_status
有一个名为 config 的 gem,您可以毫不费力地完成它,而且您可以为您的应用程序添加多环境设置。
我已经在我的配置文件夹中设置了一个 settings.yml 文件,其中包含一些我想传递给我的 rails 模型中的枚举的列表元素:
config/ settings.yml
enumerize:
hotel_status:
- "Hotel Privé"
- "Bâtiment Publique"
- "CHRS"
- "CADA"
- "Centre d'accueil"
- "Camping"
- "Autres"
我正在尝试在我的酒店模型中传递列表以这种方式枚举:
enumerize :status, in: Settings.enumerize.hotel_status
但我得到 uninitialized constant Hotel::Settings
如何通过 YML 中的列表进行枚举。
在 config/initialize 中设置初始化程序,也许 load_settings.rb
require 'yaml'
settings = YAML.load_file(Rails.root.join('config', 'settings.yml')
EnumerizedValues = OpenStruct(settings['enumerize'])
然后你可以做
enumerize :status in: EnumerizedValues.hotel_status
有一个名为 config 的 gem,您可以毫不费力地完成它,而且您可以为您的应用程序添加多环境设置。