Как правильно читать некоторые данные из файла yaml и использовать их на странице erb? - PullRequest
8 голосов
/ 08 июля 2010

Я использую рельсы для создания веб-сайта.

У меня есть файл yaml, требующий некоторых цветов, который равен config/colors.yml

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

И есть файл erb app/views/users/setting.html.erb, которая потребует данные в config/colors.yml и поместит их в тег.

Я не знаю, как правильно читать файл yaml.Могу ли я прочитать один раз и сохранить их в памяти, или я должен читать это каждый раз, когда запрашивается страница?

Ответы [ 2 ]

13 голосов
/ 08 июля 2010

Создайте файл инициализатора config/initializers/load_colors.rb со следующим содержимым:

COLORS = YAML.load_file("#{Rails.root}/config/colors.yml")

Это загрузит содержимое файла конфигурации в переменную COLORS при запуске приложения Rails. Затем вы можете получить доступ к цветам из любого места в приложении, используя COLORS['section_name']['white'] и т. Д. Например, вы можете сделать:

<h1 style="color: <%= COLORS['h1']['blue'] %>;">Main Heading</h1>

& mdash; Хотя использование такого встроенного стиля в шаблоне представления не очень хорошая практика, но оно дает вам представление об использовании.

1 голос
/ 08 июля 2010

Если цвета никогда не меняются, можно их кешировать. Следуйте этой инструкции DZone .

3-й результат для Google: ruby yaml tutorial.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...