在特定视图中加载自定义JS文件

时间:2014-10-27 16:37:45

标签: javascript ruby-on-rails ruby-on-rails-4 asset-pipeline kineticjs

我有一个视图,其中有一个使用kineticjs在JS中实现的图表工具,我想在特定视图中加载JS文件。 我这样做了:

在视图中:

<% content_for :head do %>
  <%= javascript_include_tag "diagrams" %>
<% end %>

名为diagrams.js的清单js文件:

//= require diagramtool/kinetic
//= require diagramtool/diagramtool0
//= require diagramtool/diagramtool1
//= require diagramtool/diagramtool2

application.js文件(删除了require_tree):

//= require jquery
//= require bootstrap-sprockets
//= require jquery
//= require jquery_ujs
//= require turbolinks

布局,application.html.erb:

<!DOCTYPE html>
<html>
<head>
  <title>Realyzor</title>
  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= yield(:head) %>

  <%= csrf_meta_tags %>
</head>

并在config / initializers / assets.rb中添加了这一行:

Rails.application.config.assets.precompile += %w( diagrams.js )

我的问题是,为了加载文件,我必须转到视图并刷新页面。

为什么我必须转到视图然后刷新页面才能加载JS文件?

为什么我去视图时没有加载JS文件?

我使用的是rails 4.1.5

0 个答案:

没有答案