以下是 FeesController“显示”操作模板中的代码:
<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 标签的隐藏占位符?
PS 请理解我的愤怒,因为我是 AJAX on Rails 的新手,我想成为一个学究的程序员,而且,我希望我的代码看起来又漂亮又干净。