在启用turbolink的情况下重新渲染特定的js文件

时间:2013-05-25 21:48:22

标签: javascript ruby-on-rails gem ruby-on-rails-4 turbolinks

我正在使用Rails 4并希望使用内置的Turbolink gem。我很满意它所做的一切,除了我希望它能在每次请求时重新加载一个js文件。

换句话说,我想要一个特定的js文件来忽略turbolinks,我该怎么做?

1 个答案:

答案 0 :(得分:7)

您可以使用turbolinks中的'page:load'事件将初始化函数连接到它。当turbolinks完全自动加载你的新页面时,它将被调用。

function initialize() {
  //js code what you want run always
}

$(document).ready(initialize);
$(document).on('page:load', initialize);

如果你经常使用jQuery,那么在你的Gemfile

中安装它会很有用
gem 'jquery-turbolinks'

和你的application.js

//= require jquery
//= require jquery.turbolinks

Turbolinks还有另外两个有用的事件:

page:fetch //when new page begin to download
page:change //when the page has changed over