2010-07-13 91 views
0

我有一個頁面,其中我動態地加載了一個部分(包含一個表單)。如何使用Rails動態加載jQuery?

所以之後,你點擊一個按鈕,通過jQuery我做了一個get,獲取表單,我改變了div的html。一切都很好。

問題是我有一些javascript,我添加內聯部分,我想刪除它。所以在我的部分我做了這樣的:

<% content_for :header %> 
<%= javascript_include_tag 'myscript' %> 
<%end%> 

肯定在我的佈局我有yield頭。其實我可以看到我的腳本被包含在內,但$(function(){});的內容從未執行過。有關它的任何提示?任何更好的方法來做到這一點?我想把我的JavaScript移動到外部的js文件,但現在,我找不到一個好的方法來做到這一點。

+0

你的'yield:header'和它的周圍環境是什麼樣子,或許這是一個加載順序的問題。 – jigfox 2010-07-13 13:34:34

+0

我的收益率:標題在頂部,在標籤內。所以當你點擊按鈕來打開一個對話框時,它應該在其中包含$(function(){});應該在表單加載時執行的代碼... – 2010-07-13 13:47:57

回答

0

您是否同時使用rails和jquery的原型。如果您包含兩者,那麼jquery函數將不會運行。請檢查或讓我知道是否有其他問題。

1

變化

<% content_for :header %> 
<%= javascript_include_tag 'myscript' %> 
<%end%> 

要(注意 '' 在content_for)

<% content_for :header do %> 
<%= javascript_include_tag 'myscript' %> 
<%end%> 

溶解氧是創建建設者,所以我覺得前您沒有將[script src =]標記添加到您的[head]

http://guides.rubyonrails.org/layouts_and_rendering.html#using-content-for

+0

它會給我一個錯誤或腳本wouldnt可用,因爲我寫在那裏..無論如何感謝 – 2010-07-13 20:08:14

+0

好吧,如果你可以發佈一個非工作的HTML /腳本頁面,我們可以診斷。我認爲你通過File.open閱讀和寫入JavaScript到HTML是一個糟糕的選擇 – 2010-07-14 13:35:54

+0

我一直做什麼傑斯推薦。我們將所有的JS文件以這種方式包含在head部分中的單獨JS文件中,或者包含在包裝在CDATA塊中的頁面中。 – 2010-09-22 04:18:54