簡體   English   中英

Rails - 渲染資產javascript

[英]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.

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