2010-07-08 9 views
8

Używam szyn do budowy strony internetowej.Jaki jest poprawny sposób odczytu niektórych danych z pliku yaml i użycia go na stronie erb?

Mam plik yaml Contails niektóre kolory, co jest config/colors.yml

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

I nie jest plikiem erb app/views/users/setting.html.erb, które będą potrzebne dane w config/colors.yml i umieścić je w tagu.

Nie wiem, jaki jest prawidłowy sposób odczytu pliku yaml. Czy mogę raz czytać i przechowywać je w pamięci, czy powinienem je czytać za każdym razem, gdy strona jest żądana?

Odpowiedz

13

Utwórz plik config/initializers/load_colors.rb initializer z tych treści:

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

To będzie załadować zawartość pliku konfiguracyjnego do COLORS zmiennej podczas uruchamiania aplikacji Rails. Następnie można przejść do kolorów z dowolnego miejsca w aplikacji przy użyciu COLORS['section_name']['white'] itd Na przykład, można zrobić:

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

— Chociaż przy użyciu stylu inline takiego w szablonie widzenia nie jest to dobra praktyka, ale daje wyobrażenie o użyciu.

+0

dziękuję! To właśnie chcę wiedzieć – Freewind

1

Jeśli kolory nigdy się nie zmieniają, można je buforować. Wykonaj ten samouczek: DZone.

Trzeci wynik dla Google: ruby yaml tutorial.