[英]Engine's assets with Rails 3.1
自動加載所有引擎資產文件夾的路徑。
默認情況下不加載資產本身。 這是可以理解的,因為加載是使用require_tree.
,它從當前文件夾(即主應用程序資產的文件夾)加載所有 css/js,但沒有說明引擎資產。
簡單的解決方案是要求用戶在 application.js/css 或其他任何需要的地方要求 js/css。 由於路徑加載正確,用戶只需要指定資產的名稱(我建議使用引擎的名稱)。 例子:
附加到main_app/app/assets/javascripts/application.js
:
//= require your_engine_name
如果您將 js 拆分為不同的文件,您的文件your_engine_name/app/assets/javascripts/your_engine_name.js
可能具有以下內容:
//= require_tree .
這將加載your_engine_name/app/assets/javascripts/
中的所有 js 文件,作為“。” 指的是本地文件夾(在這種情況下是您引擎的 javascripts 的文件夾)。
請注意,當設置config.use_sprockets
時, ActionView::Helpers::AssetTagHelper.register_javascript_expansion
似乎沒有任何效果。 我希望他們至少會在這種情況下發出警告。
如果您有安裝引擎的 rake 任務,那么您可以對 application.js 執行 append。
用戶包含它的另一種方法是在 erb 布局中插入<%= javascript_include_tag "your_engine_name" %>
。
我認為沒有辦法讓它自動插入
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.