2016-07-07 69 views
0

我正在使用Rails 4.2.3。我的Javascript以下文件的文件夹在RoR中,如何将所有JS文件包含在一个页面上的文件夹中?

app/assets/javascripts/flot/ 

我想在此文件夹中的所有文件包含在只有一个页面(即只能从控制器的一个动作)。如果不在我的视图中对javascript_include_tag中的每个文件进行硬编码,可以这样做吗?请注意,我对所有JS文件都包含在控制器的每个动作中的答案都不感兴趣。我只需要将这些文件用于一个动作所呈现的视图。

回答

0

你可以在该文件夹中创建一个主JS文件,并扔在的

//= require [file name] 

列表到混合所以它加载所有的人都从该列表。

然后在您要使用的视图中包含以下行。

<%= javascript_include_tag "flot/[master file name]" %> 

Javascript_Include_Tag

例如,你可以命名你的文件app/assets/javascripts/flot/main.js

那么,内容是

#flot/main.js 
//= require_tree . 

#your view 
... 
<%= javascript_include_tag "flot/main" %> 
... 

然后,任何文件添加到您的flot文件夹或子文件夹将自动添加到您的树。只要确保你已经排除了require_treeflot文件夹中application.js文件作为this link解释

+0

我试图摆脱硬编码在应用程序的任何部分名单,因为如果我加入我的新文件必须回去编辑硬编码的东西。我一直在寻找能够自动获取该目录中所有内容的东西。可能是一个梦想。 – Dave

+0

也许'/ = require_tree .'在主文件在flot /目录中? – Okomikeruko

+0

啊,这是一个好主意。我将该文件命名为什么? – Dave

相关问题