簡體   English   中英

使用Rails資產助手來運行Javascript插件

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

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