从yaml文件中读取一些数据并在erb页面中使用它的正确方法是什么?

时间:2010-07-08 13:02:24

标签: ruby-on-rails yaml

我正在使用rails来建立一个网站。

我有一个yaml文件包含一些颜色,config/colors.yml

---
- white
- red
- blue
- yellow
- ...

并且,有一个erb文件app/views/users/setting.html.erb,它需要config/colors.yml中的数据,并将它们放在标记中。

我不知道读取yaml文件的正确方法是什么。我可以阅读一次并将它们存储在内存中,或者每次请求页面时我都应该阅读它吗?

2 个答案:

答案 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