2010-07-26 46 views
0

我想在我的頁面加載時觸發一個AJAX請求。我猜這是最好的從我的控制器。如何加載部分內部的部分?

首先,我打開一個新的網頁..

def text_tabs_nav 
end 

這個頁面有通過AJAX兩個不同的泛音加載的能力。我想在默認情況下加載其中的一個。

所以我想,也許這個..

def text_tabs_nav 
    respond_to do |format| 
    format.html 
    format.js 
    end 
end 

在我text_tabs_nav.js我寫了這個:

== $("#content").html("#{ escape_javascript(render :partial => 'about_us') }"); 

但JavaScript的沒有load..I使用相同的JavaScript來加載頁面後加載的東西,它工作正常。

任何人都知道如何加載部分(text_tabs_nav),與默認的AJAX部分加載(about_us)?

謝謝!

回答

0

井失利的光輝閃耀,我拋棄了控制器,加在我看來正常通話。

:javascript 
    $("#content").html("#{ escape_javascript(render :partial => 'about_us') }"); 

問題解決了。

0

它沒有被解析,因爲它在香草js文件中。你想要的是

text_tabs_nav.js.erb

+0

香草?嗯..我的文件雖然叫做text_tabs_nav.js。我將我的控制器切換到format.js.erb,並將該文件轉換爲該文件,但未呈現。返回未定義的方法'erb'for# Trip 2010-07-26 19:41:20

+0

我沒有關注...您的文件應該叫做'text_tabs_nav.js.erb'。否則,rails會認爲它只是一個普通的javascript文件,沒有任何ruby可以處理。行'format.js'保持不變。無論何時渲染任何東西,它都會查找沒有擴展名的文件(例如「text_tabs_nav.js」),或者使用任何模板擴展名(.erb,.haml)。 – 2010-07-26 19:52:39

+0

啊..我忘了提及我正在運行haml/sass。哪一個更接近,我將它重命名爲'text_tabs_nav.js.haml'。所以,如果我從我的控制器中刪除format.html,它將加載到正確的內容中。但有了它,它實際上並沒有將AJAX加載到頁面中。 – Trip 2010-07-26 19:58:24