后台:构建一个小型应用,其目的是在最初到达应用后不会发生整页加载。实现了pjax_rails插件。但是,创建,更新和销毁操作(以及执行redirect_to的任何操作)都会导致整页加载。
问题:如何在使用pjax(最好还是使用pjax_rails gem)时解决这个问题?我知道如何用ajax解决这个问题,但是如果用这个pjax实现可以处理整个事情会好得多;历史,可降解性等。
为了节省澄清时间,这些事情已经完成:
的Gemfile
gem 'pjax_rails'
application.js(包括其他需要,以防我发现有些冲突)
//= require jquery
//= require jquery_ujs
//= require jquery.pjax
//= require twitter/bootstrap
//= require_tree .
// Explicitly specify which links have PJAX enabled.
$(function() {
$('a:not([data-remote]):not([data-behavior]):not([data-skip-pjax])').pjax('[data-pjax-container]');
});
还在application.js中尝试了以下内容,以防我忽略了
$('a').pjax('[data-pjax-container]');
尝试了
$('a').pjax('[data-pjax-container]', { timeout: 200000 });
application.html.erb
<div data-pjax-container>
<%= yield %>
</div>
答案 0 :(得分:0)
虽然这不是我问题的直接答案,但这是我用我的应用程序采取的解决方案。
对于任何single-page app (SPA),甚至是具有大量异步更新的应用程序,使用JavaScript框架似乎真的是要走的路。对我来说,我选择了Backbone.js;虽然还有很多其他选择 - Knockout,Angular,Cappuccino,SproutCore,Ember,Spine。