2011-09-26 73 views
0

重命名它導軌3 - AJAX請求

rename.js.erb

alert('start'); 
$('div.popup').html('<%= escape_javascript(render('rename')) %>'); 

_rename.html.erb

Some text 

在終端窗口 處理由ArticlesController#重命名爲 ...

渲染文章/ _rename.html.erb(0.3ms的) 渲染文章/ rename.js.erb(2.3ms)

這是我目前的設置爲AJAX請求。我仍然收到此錯誤消息* 缺少模板文章/重命名*。我不明白爲什麼,我認爲一切都應該設置好... jQuery庫已加載。 JS文件中的alert窗口不要跳轉... 任何人都可以幫助我,請問這是什麼問題?

回答

0

您可以發佈該請求的完整終端輸出嗎?我感興趣的是Rendered articles/_rename.html.erb (0.3ms)來自哪裏以及它是如何處理的,因爲您只是寫了「...」。

我能想到的唯一的事情就是你的文件沒有正確命名。

ArticlesController#rename會尋找rename.html.erb而不是像_rename.html.erb部分。

+0

對於127.0.0.1,在9月26日22:44:36 +0200 2011年只有'Started GET/articles/rename',那麼只有SQL查詢。如果我從'rename.html.erb'上的'_rename.html.erb'重命名文件,那麼錯誤信息就會消失,但是頁面的這部分並不是以javascript的形式加載,而是以HTML的形式加載。警報消息未加載 - 仍然是。 – user1946705

+0

請發佈**完整**輸出。特別是'Processing by ArticlesController#'的部分重命名爲...'沒有省略號。另外,你如何觸發這個呼籲文章控制器響應JavaScript? – James

0

嘗試將_render.html.erb顯式地顯示爲您的js文件中的一個部分。 Rails可能會與你的觀點的(幾乎)相互衝突的名稱混淆。

rename.js.erb

$('div.popup').html('<%= escape_javascript(render(:partial => 'rename')) %>'); 

或者多試重命名重命名部分其他。

+0

或者它實際上看起來像他們得到正確加載..也許你需要在jQuery中使用'jQuery'而不是'$'?我以前必須這樣做。 ''jQuery('div.popup')。html('<%= escape_javascript(render('rename'))%>');' –