2010-09-15 165 views

回答

5

javascript_include_tagAPI documentation

返回每個所提供的源HTML腳本代碼。

您可以傳入存在於public/javascripts目錄中的JavaScript文件的文件名(.js擴展名是可選的),以便包含在當前頁面中,或者您可以傳遞相對於文檔根目錄的完整路徑。

您不能遞歸地在您的目錄中包含所有文件。但是,你總是可以寫類似的下一行:

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

您與錯誤提供了工作方法。它創建文件的絕對URL。這裏修改後的版本: def collect_javascript_files(path) Dir [config.javascripts_dir + File :: SEPARATOR + path] .map {| s | s.sub(config.assets_dir,「」)} end – 2010-09-15 07:03:10

+0

你如何得到這個工作?我把'helper_method:collect_js_files'和你的函數放在application_controller.rb中,但是當我在我的html.haml中調用'= javascript_include_tag collect_js_files('public/javascripts/folder')'時,它什麼都不做(空行在生成的html中) 這將是非常有用的,如果它的工作,謝謝! – butterywombat 2011-02-02 14:48:33

+0

它不起作用! – Lev 2016-09-14 10:28:36

0

您可以使用

<%= javascript_include_tag :all %> 

但是,這隻會工作,如果腳本存儲在您的

RAILS_ROOT/public/javascripts 

目錄

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, "") } %> 
+0

這對我來說非常合適。非常感謝。我的.js文件出現在javascripts/controls文件夾下,您可以在此文件夾下添加所有文件 – rahoolm 2014-01-12 10:59:48

+0

,祝您工作愉快! – 2014-01-14 18:23:40

4

一個簡單的解決方案是創建一個新的js文件(又稱爲activate.js)並在其中包含文件。

< FolderWithFiles> /activate.js://= require_tree .

相關問題