[英]Use Rails asset helper to run a Javascript plug in
處理一個有趣的問題。 我正在使用第三方插件Galleria。 它像這樣從視圖主體運行
<script>
Galleria.loadTheme('/assets/galleria/themes/classic/galleria.classic.min.js');
Galleria.run('.galleria'...
</script>
我已經意識到,在Rails資產管道中,我必須使用helper標簽,否則資產不會加載。 因此,我像這樣對第一行進行了替換:
Galleria.loadTheme("<%= javascript_include_tag 'galleria.classic.min.js', '/galleria/themes/classic' %>");
但是我不確定該如何處理Galleria.run('。galleria'部分,因為這不是資產,而是要告訴它運行應該加載的東西。看看是否還有其他想法。
編輯:最終成功的是其他人的這篇可愛的帖子,還有我不得不補充的幾點: 如何在Rails 4 Pipeline中使用Galleria插件
我想你要
Galleria.loadTheme("<%= javascript_include_tag '/galleria/themes/classicgalleria.classic.min.js'%>")
假設您已將js放在資產/ javascript中?
您可能需要在資產路徑中添加一些內容以進行編譯。 我認為您不能直接在線執行javascript_include_tag
。 那應該生成一個完整的<script></script>
標記。 您真正想要的只是資產編譯的文件名。 如果您已將javascript文件放置在vendor/assets/javascripts
則將它們添加到預編譯列表中
# in environments/production.rb
config.assets.precompile += %w( galleria.classic.min.js )
那么我認為您可以這樣包含它:
Galleria.loadTheme('/assets/galleria.classic.min.js');
如果非摘要版本不可用,則可能需要使用其他路徑助手來獲取摘要版本。 我應該看起來像:
Galleria.loadTheme('<%= asset_path 'galleria.classic.min.js' %>');
祝好運。 環球免稅店是一個不錯的幻燈片演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.