2012-09-04 26 views
0

我在application.html.erb本聲明:application.html.erb中的javascript yield,無法使其工作。 Ruby on Rails?

<%= yield(:javascript) %> 

,我有以下的javascript,這應該屈服迴應:

<% content_for : javascript do %> 

    <script type="type/javascript"> 
    $(function() { 
     call_to_function(); 
    }); 

    </script> 

<% end %> 

如果我把上面的塊用在家庭/ index.html.erb,它工作正常。但我想以某種方式將它始終提供給application.html.erb,而不僅僅是當我呼叫home#index時。

我該如何做到這一點,任何指針將不勝感激?

回答

0

而不是使用

<%= yield(:javascript) %> 

,你可以直接把你的Java腳本在app /視圖/佈局application.html.erb共享代碼拋出的所有網頁。

當你有相同的內容時,沒有必要使用yield。當我們具有特定於每個頁面的代碼不同時,我們使用Yield來實際替換Yield塊的內容。 所以,更換<%=收益率(產品:Javascript)%>由

<script type="type/javascript"> 
$(function() { 
    call_to_function(); 
}); 

出現在所有網頁。

+0

是啊...最後,我已經將javascript放入assets/javascripts中相應的javascript文件中 – Raul

相關問題