【发布时间】:2010-11-24 03:01:51
【问题描述】:
我有一个 Rails 3 应用程序,它使用远程/AJAX 链接来更新页面上的部分内容。在我看来,我有以下几点:
<%= link_to 'link text', {:action => 'update_details'}, :remote => true %>
我的控制器中的该操作具有以下内容:
render(:update) do |page|
page.replace_html 'details', :partial => 'details'
end
它不会使用“详细信息”部分中的 HTML 进行更新,而是重定向到打印 RJS 代码的页面:
try {
Element.update("details", "\nDetails\n\n");
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"details\", \"\nDetails\n\n\");'); throw e }
我没有收到任何类型的 Javascript 错误,我包含了所有必要的 Javascript 文件,包括 Prototype。
【问题讨论】:
-
请确认您的浏览器是否开启了javascript?
-
您可能还想在 controller_name.rjs 文件中放置以下代码:page.replace_html 'details', :partial => 'details'... 使其更加隐蔽且易于调试
-
在启用了 Javascript 的多个浏览器中发生。
-
你是否在标题中加载你的 csrf_meta_tag 助手?
-
为元标记添加帮助代码解决了这个问题。谢谢!
标签: html ruby-on-rails ruby rjs