【发布时间】:2011-05-12 20:40:45
【问题描述】:
因此,从 rails 3.1 中删除了所有关于使用 UJS 和 RJS 的内容,我想知道如何更新页面上相对大量的 html。在我可以从 insert_html 方法中渲染一个部分之前,我现在应该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
因此,从 rails 3.1 中删除了所有关于使用 UJS 和 RJS 的内容,我想知道如何更新页面上相对大量的 html。在我可以从 insert_html 方法中渲染一个部分之前,我现在应该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
使用 javascript 或任何您喜欢的框架。我更喜欢 jQuery。
$("#somediv").html("<%= escape_javascript(render :partial => "/path/to/partial") %>")
【讨论】:
例如,您可以使用 jQuery 的 load 方法加载它:
$('#somediv').load('/some/path');
【讨论】:
@defunkt 整合了一个非常漂亮的 javascript 部分页面加载器。
它叫做pjax。它为支持 history.pushstate API 的浏览器启用部分页面重新加载和预期功能
这是什么?
pjax 将 HTML 从您的服务器加载到 当前页面没有完整 重新加载。这是真正的ajax 永久链接、页面标题和工作 完全降级的后退按钮。
pjax 增强浏览体验 - 仅此而已。
您可以在以下位置找到演示 http://pjax.heroku.com/
【讨论】:
UJS、RJS、模板和助手仍将通过可选的 gems 得到支持。
【讨论】: