簡體   English   中英

Rails Assets Pipeline 從控制器和方法加載 JavaScript

[英]Rails Assets Pipeline load JavaScript from controllers and methods

我想在我的代碼中保持 DRY,所以我想在它匹配控制器或/和方法並且.js存在時自動加載我的 javascripts 文件。 我將此添加到我的布局中

= 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 )

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

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

您可以使用通配符來預編譯視圖中包含的所有 JS 文件:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM