2016-05-01 32 views
1

我想在我的代碼中保持DRY,因此我想在匹配控制器或/和方法並存在.js時自動加載我的JavaScript文件。我所以現在添加到了我的佈局Rails Assets管道從控制器和方法加載JavaScript

= javascript_include_tag params[:controller] if ::Rails.application.assets.find_asset("#{params[:controller]}.js") 
= javascript_include_tag "#{params[:controller]}/#{params[:action]}" if ::Rails.application.assets.find_asset("#{params[:controller]}/#{params[:action]}.js") 

當我添加javascripts/my_controller/my_method.js它自動加載它,這是很好的。

不幸的是,我必須添加另一行來預編譯資產,否則會引發錯誤(說我必須預編譯我的.js文件),我沒有找到任何解決方法。

Rails.application.config.assets.precompile += %w(orders/checkout.js) 

有沒有人有解決方案,以避免tu添加手動元素在此配置?

注:我已經嘗試使用require_tree .,它只是加載每個頁面上的所有文件,並沒有在我的情況下工作。

回答

1

您可以使用通配符來允許包括在你的看法所有的JS文件進行預編譯:

config.assets.precompile << '*.js'

+0

你只要讓我很快樂;) – Laurent

相關問題