我正在使用rails来建立一个网站。
我有一个yaml文件包含一些颜色,config/colors.yml
---
- white
- red
- blue
- yellow
- ...
并且,有一个erb文件app/views/users/setting.html.erb
,它需要config/colors.yml
中的数据,并将它们放在标记中。
我不知道读取yaml文件的正确方法是什么。我可以阅读一次并将它们存储在内存中,或者每次请求页面时我都应该阅读它吗?
答案 0 :(得分:13)
使用以下内容创建config/initializers/load_colors.rb
初始值设定项文件:
COLORS = YAML.load_file("#{Rails.root}/config/colors.yml")
这将在Rails应用程序启动时将配置文件的内容加载到COLORS
变量中。然后,您可以使用COLORS['section_name']['white']
等从应用程序中的任何位置访问颜色。例如,您可以执行以下操作:
<h1 style="color: <%= COLORS['h1']['blue'] %>;">Main Heading</h1>
- 尽管在视图模板中使用这样的内联样式并不是很好的做法,但它可以让您了解其用法。
答案 1 :(得分:1)
如果颜色永远不会改变,可以缓存它们。请遵循此DZone教程。
Google的第三个结果:ruby yaml tutorial
。