[英]Rails - Render asset javascript
有沒有機會呈現預編譯的javascript文件? 普通文件沒有問題:
def iframe_communication
render file: "/app/assets/javascripts/iframe_communication_module.js"
end
我嘗試了assets_path
或在視圖中包含javascript_include_tag
,但沒有成功。
為了澄清,我不想將腳本添加到我的視圖中。 我嘗試渲染javascript文件以進行外部訪問(從其他域添加到<script>
標記中)。
更新
render file: "..."
按預期顯示文件,但顯示未編譯的版本 assets_path "/app/assets/javascripts/iframe_communication_module.js"
返回"/app/assets/javascripts/iframe_communication_module.js"
而不是編譯資產的路徑 javascript_include_tag
按預期加載腳本(不呈現) Rails 4資產管道將所有內容編譯成一個文件,有沒有機會從中獲取單個文件?
或者是手動編譯它的更好方法?
更新2
發現這個 : assets_path
不按我的意料assets_path
。 它只是預先添加和附加:
asset_path "application.js" # => /application.js
asset_path "application", type: :javascript # => /javascripts/application.js
有一個有效的解決方案
我不需要普通資產管道中的文件。 所以加
//= stub iframe_communication_module
到apps/assets/javascript/application.js
。
要預編譯文件自動添加
config.assets.precompile += %w( iframe_communication_module.js )
到config\\application.rb
要通過控制器添加來訪問它
redirect_to ActionController::Base.helpers.javascript_path("iframe_communication_module")
到控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.