从 yaml 文件读取一些数据并在 erb 页面中使用它的正确方法是什么?
我正在使用 Rails 来构建一个网站。
我有一个 yaml 文件包含一些颜色,它是 config/colors.yml
---
- white
- red
- blue
- yellow
- ...
并且,有一个 erb 文件 app/views/users/setting.html.erb,其中将需要 config/colors.yml 中的数据,并将它们放入标签中。
我不知道读取 yaml 文件的正确方法是什么。我可以读取一次并将它们存储在内存中,还是应该在每次请求页面时读取它?
I'm using rails to build a website.
I have a yaml file contails some colors, which is config/colors.yml
---
- white
- red
- blue
- yellow
- ...
And, there is an erb file app/views/users/setting.html.erb
, which will need the data in config/colors.yml
, and put them in a tag.
I don't know what's the correct way to read the yaml file. Can I read once and store them in memory, or I should read it each time the page is requested?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用以下内容创建一个
config/initializers/load_colors.rb
初始值设定项文件:这将在 Rails 应用程序启动时将配置文件的内容加载到
COLORS
变量中。然后,您可以使用 COLORS['section_name']['white'] 等从应用程序中的任何位置访问颜色。例如,您可以这样做:- 尽管在视图中使用像这样的内联样式template 并不是一个很好的实践,但它可以让您了解用法。
Create a
config/initializers/load_colors.rb
initializer file with these contents:This will load the contents of the configuration file into the
COLORS
variable when the Rails application starts. Then you can access the colours from anywhere within the application usingCOLORS['section_name']['white']
etc. For example, you could do:—Although using an inline style like this within a view template isn't really good practice, but it gives you an idea of the usage.
如果颜色永远不会改变,则可以缓存它们。请按照此 DZone 教程进行操作。
Google 的第三个结果:
ruby yaml 教程
。If the colors never change, it's okay to cache them. Follow this DZone tutorial.
3rd result for Google:
ruby yaml tutorial
.