2012-07-27 79 views
0

假設您在開發與生產中有不同的設置(不同的選項,setInterval/setTimeout的不同設置)。你如何處理配置之間的變化?你如何在Rails中處理環境特定的JavaScript文件?

我正在考慮使用生成器,每當我在環境之間切換時,我都可以重新生成相關的js文件。你的方法是什麼?

回答

2

非常非常簡單。在我的佈局:

<% if Rails.env.development? %> 
    <%= javascript_include_tag "development.js" %> 
<% end %> 
+0

爲什麼我總是走複雜的道路? ...但是,仍然需要在版本控制下保存相同源文件的兩個版本,對吧? – Geo 2012-07-27 19:14:30

+0

不,你會有一個有條件地包含的'development.js'文件和一個總是包含的普通'application.js'文件。 – meagar 2012-07-28 14:50:07

1

根據有多少,這些不同的設置,你有,我會使用ENV [「RAILS_ENV」](Rails的2.3,它可能在Rails中已經改變3+),看看你是在'生產','發展'等。

如果它只是一個樣式表或JavaScript文件,我會在應用程序佈局中進行這些檢查。如果你的交換機更深入,我會在應用幫助器中做一個幫手,它會告訴你你的代碼當前在哪個環境中,並且只需從你的代碼中調用那個幫助器。