我想使用javascript_include_tag
使用递归获取所有与视图相关的脚本,该递归位于public/javascripts/views
。
我正在尝试javascript_include_tag "/views", :recursive => true
,但未能添加任何脚本。
此致 Alexey Zakharov
答案 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, "") } %>