【问题标题】:link_to links not loading javascript in railslink_to 链接未在 Rails 中加载 javascript
【发布时间】:2016-07-14 17:54:19
【问题描述】:

在我的索引视图中,我有一个表(它使用引导表排序 javascript 库对列进行排序)我正在使用 rails 5。

所以现在当我点击<%= link_to 'Products', products_path %> 时,javascript 没有加载,但是当我重新加载浏览器时(ctrl + r)我看到表格排序开始工作。在 Chrome Developer 中观看网络选项卡后,我可以看到这种情况发生,link_to 看不到对 js 文件的任何请求,但是当我重新加载时,js 文件可用。

我使用的是标准的rails结构

  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>

我的猜测是由于 turbolinks 而发生了一些事情,但我无法弄清楚

【问题讨论】:

  • 刚刚从这里尝试了第二个答案 - stackoverflow.com/questions/17600093/… - 它仍然有效。所以,基本上&lt;%= link_to 'Products', products_path, method: :get %&gt; 也可以解决问题。

标签: jquery ruby-on-rails twitter-bootstrap turbolinks ruby-on-rails-5


【解决方案1】:

对于 Rails 5 (Turbolinks 5) page:load 变为 turbolinks:load ,甚至会在初始加载时触发。因此,将引导表排序的 javascript 代码添加到以下块中。

$(document).on('turbolinks:load', function() {

  ...your javascript goes here...

});

【讨论】:

  • 我在 Rails 4 上使用过它,效果也很好
猜你喜欢
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 2017-03-04
  • 2023-04-04
  • 2017-03-09
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多