這裏是鑑於FeesController 「秀」 動作模板代碼:RJS返回而不JS標籤普通的JavaScript
<div id="payers_controls">
<%= link_to_remote('New payer',
:update => "payers_controls",
:url => new_payer_url)
%>
</div>
這裏是new.rjs - 屬於PayersController 「新」 行動
page.replace_html "payers_controls", :partial => "form", :object => @payer
這裏是PayersController中的「新」動作
def new
@payer = Payer.new(params[:payer])
end
以下是PayersController中「新」操作的「表單」部分
<%= "Damn text to see if this damn partial is rendered properly" %>
然後我點擊「新建付款」鏈接,它使我的內心「payers_controls」 DIV純JS:
try { Element.update("payers_controls", "Damn text to see if this damn partial is rendered properly"); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"payers_controls\", \"Damn text to see if this damn partial is rendered properly\");'); throw e }
而且到底爲什麼這個該死的響應不括在SCRIPT標籤? 我是否需要在頁面中爲JS響應創建另一個帶有SCRIPT標籤的隱藏佔位符?
P.S.請理解我的憤怒,因爲我是Rails的AJAX新手,我想成爲一名程序員,而且,我希望我的代碼看起來很乾淨整潔。
這是精明的。非常感謝。似乎我需要睡一會兒。 P.S. Stackoverflow對於這樣的快速回答有點讓人上癮:D – BlackTea 2010-01-11 02:33:59
哈哈。沒問題!我知道這是令人沮喪的關於JS和Rails ......魔鬼的細節。祝你的Rails項目好運。 – ewakened 2010-01-11 13:01:07