我有我的應用程序在各個地方訪問的城市,國家,類別等靜態字符串數組。我應該把這個放在哪裏?在一個yml文件的lib目錄中的某個位置或一個rb文件?我應該在Ruby on Rails中放置哪些靜態數據?
謝謝!
我有我的應用程序在各個地方訪問的城市,國家,類別等靜態字符串數組。我應該把這個放在哪裏?在一個yml文件的lib目錄中的某個位置或一個rb文件?我應該在Ruby on Rails中放置哪些靜態數據?
謝謝!
看到這個so question
基本上,把常量/config/initializers
在.rb
文件。
所以這是不是真的恆定的數據,因爲「一旦幾個月」的信息會改變。在這種情況下,您應該將信息放入數據庫並緩存它。緩存將防止往返數據庫,並且您可以在需要更新信息時過期緩存。
我建議你把它放在config/locales/*.yml
文件中。這很好,因爲你可以爲不同的語言指定不同的城市名稱。有關更多信息,請參閱internationalization guide。
城市,州和類別的靜態數據列表是否被視爲常量?看起來這些是用於一次性單個常量或設置常量的。 – Goalie 2012-07-12 01:02:29
如果您的數據將會更改,請將其放入數據庫中。但一個常數不一定只是一個值。它也可以是一些列表,比如城市和州。另外,你稱他們爲「靜態」,這意味着他們不會改變......換句話說,不變。 – Dty 2012-07-12 02:20:26
因此,當我添加城市或類別時,它們可能會發生變化,但那些會很少見 - 一兩個月。通過將它們放在數據庫中,我需要去數據庫去獲取我也試圖通過這條路線避免的信息。 – Goalie 2012-07-12 03:02:50