2010-07-08 12 views
8

我正在使用rails來構建網站。從yaml文件讀取一些數據並在erb頁面中使用它的正確方法是什麼?

我有一個YAML文件contails某些顏色,這是config/colors.yml

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

而且,還有一個ERB文件app/views/users/setting.html.erb,這將需要config/colors.yml的數據,並把它們放在一個標籤。

我不知道讀取yaml文件的正確方法是什麼。我可以只讀一次並將它們存儲在內存中,或者每次請求頁面時都應該讀取它?

回答

13

與這些內容創建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> 

—雖然使用視圖模板中像這樣的內嵌樣式是不是真的很好的做法,但它給你一個使用的想法。

+0

謝謝!這正是我想知道的 – Freewind 2010-07-08 13:20:49

1

如果顏色永不改變,可以緩存它們。按照這個DZone教程。

Google的第三個結果:ruby yaml tutorial

相關問題