具有创建,更新和销毁操作的pjax_rails

时间:2012-08-19 18:21:22

标签: jquery ruby-on-rails ruby-on-rails-3.2 pjax

后台:构建一个小型应用,其目的是在最初到达应用后不会发生整页加载。实现了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>

1 个答案:

答案 0 :(得分:0)

虽然这不是我问题的直接答案,但这是我用我的应用程序采取的解决方案。

对于任何single-page app (SPA),甚至是具有大量异步更新的应用程序,使用JavaScript框架似乎真的是要走的路。对我来说,我选择了Backbone.js;虽然还有很多其他选择 - Knockout,Angular,Cappuccino,SproutCore,Ember,Spine。

请参阅Why use Backbone.js?