繁体   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