如何使用javascript_include_tag获取文件夹中的所有脚本

时间:2010-09-15 05:41:16

标签: ruby-on-rails ruby-on-rails-3

我想使用javascript_include_tag使用递归获取所有与视图相关的脚本,该递归位于public/javascripts/views

我正在尝试javascript_include_tag "/views", :recursive => true,但未能添加任何脚本。

此致 Alexey Zakharov

4 个答案:

答案 0 :(得分:6)

根据javascript_include_tag的{​​{3}}:

  

返回所提供的每个源的html脚本标记。

     

您可以传入public / javascripts目录中存在的javascript文件的文件名(.js扩展名是可选的)以包含在当前页面中,或者您可以传递相对于文档根目录的完整路径。

您无法递归地包含目录中的所有文件。但是,你总是可以写下一行:

javascript_include_tag *Dir[Rails.root.join("public/javascripts/views/**/*.js")]

答案 1 :(得分:4)

一个简单的解决方案是创建一个新的js文件(进一步称为activate.js)并在那里包含文件。

# < FolderWithFiles >/activate.js :

//= require_tree . 

答案 2 :(得分:0)

您可以使用

<%= javascript_include_tag :all %>

但这只有在脚本存储在

中时才有效
RAILS_ROOT/public/javascripts

目录

答案 3 :(得分:0)

以下(未经优化的)代码应在rails 3.0或更高版本中运行

<%= javascript_include_tag Dir[Rails.root.join("public/javascripts/views/**/*.js")].map { |s| s.sub(Rails.root.join("public/javascripts/").to_s, "") } %>