因此,在我的Rails應用程序中,我試圖在某些視圖上設置Javascript測試。在Rails中,有沒有辦法從應用程序佈局中有選擇地加載視圖中的文件?
現在,我在每個視圖具有有條件這樣做..
<% if AppConfig['js_testing'] %>
<script>
...
</script>
<% end %>
如果我有它的每一頁上,有很多重複的代碼。有沒有辦法管理應用程序佈局中的所有內容?
因此,在我的Rails應用程序中,我試圖在某些視圖上設置Javascript測試。在Rails中,有沒有辦法從應用程序佈局中有選擇地加載視圖中的文件?
現在,我在每個視圖具有有條件這樣做..
<% if AppConfig['js_testing'] %>
<script>
...
</script>
<% end %>
如果我有它的每一頁上,有很多重複的代碼。有沒有辦法管理應用程序佈局中的所有內容?
有幾個地方你可以把這個,這將有助於減少重複。主要佈局是理想的候選人。另一種可能性是幫助方法,這很容易引入。
您也可以定義一個條件javascript_tag幫助器方法,只在您的觸發器設置時才引入JavaScript。通常這是沿着以下線:
def javascript_testing_tag(content)
AppConfig['js_testing'] ? javascript_tag(content) : ''
end
然後這是一個非常簡單的練習,用這個條件包裝所有的測試腳本。如果此行爲的邏輯觸發器發生更改,它將使以後重構更容易。
最佳實施取決於您所引入的腳本內容類型。如果它與可能在特定視圖中的JavaScript緊密相關,那麼可能會停滯不前。
另一種方法是簡單地標記每個頁面並具有測試JavaScript代碼,根據文檔的結構觸發特定的行爲。例如,如果存在元素div#user_list,則可以運行testUserList()。
然後,在非測試環境中簡單地不包含測試JavaScript文件是微不足道的。
您是否需要將相同的代碼放在每個頁面上的js腳本塊中? – house9 2010-04-22 00:23:58