gpt4 book ai didi

ruby-on-rails - 在 Rails 3.1 Asset Pipeline 中放置 Galleria(jQuery 图像库框架)的位置?

转载 作者:行者123 更新时间:2023-12-04 00:16:42 28 4
gpt4 key购买 nike

我对在哪里放置像 Galleria 这样的 jQuery 框架有点困惑。在 rails 3.1 的新 Assets 管道 ?

我知道,从技术上讲,应该进入 /vendors/assets/javascripts但是,据我了解,Galleria带有 jQ​​uery 和主题的文件夹希望位于实时站点的根目录 ( /galleria ) 中才能正常工作。

另外,当我们在这里时,将以下脚本放在哪里,以便它只出现在带有画廊的页面上?

<script>
$('#gallery').galleria({
width:500,
height:500
});
</script>

编辑 : 惊讶没有回应!?!也许Galleria不那么受欢迎?这些是我要加载的文件。尽管我可以轻松移动它们,但它们像这样捆绑在一起:
vendor/
assets/
javascripts/
galleria-1.2.5.js
galleria-1.2.5.min.js
galleria/
themes/
classic/
classic-loader.gif
classic-map.png
galleria.classic.css
galleria.classic.js
galleria.classic.min.js

我想 sprockets require_tree .将加载 app/assets 中的所有内容, lib/assetsvendor/assets ?!?

最佳答案

我遇到了同样的问题,花了一段时间才开始工作。最初,它在开发中可以正常工作,但当我们转向生产时,Galleria 默默地失败了,因为 Assets 文件名现在有“指纹”。这似乎也是 jQuery UI 主题和许多其他此类脚本的问题。

当然,您可以回到旧的做事方式并将所有内容都“公开”,但我们希望自动合并所有 css/js 文件并以 rails 方式做事的优势。

这就是我的工作方式:

vendor/
assets/
images/
classic-loader.gif
classic-map.gif
javascripts/
galleria-1.2.5.js
galleria.classic.js
stylesheets
galleria.classic.css.scss

重命名您的 galleria.classic.css文件到 galleria.classic.css.scss .然后替换图像引用,像这样(我有两个):
url("classic-loader.gif")变成 image-url("classic-loader.gif")
更新:看起来您不需要在 Rails 3.1.1 中执行此操作。只需将文件重命名为 .css.scss,rails 就会自动为您预处理 url() 调用。

在您的 app/assets/javascripts/application.js文件,确保你有这些行
//= require galleria-1.2.5
//= require galleria.classic
//= require_tree .

在你 app/assets/stylesheets/application.css文件,确保你有这些行
*= require galleria.classic
*= require_tree .

最后,Galleria 似乎内置了一些花哨的非标准 css 加载。这就是阻止 Galleria 在我们的生产网站上加载的原因。由于我们已经包含了样式表,我们希望禁用此行为。只需打开 galleria.classic.js (或您的 Galleria 主题 javascript 文件),并替换以下行:
css: 'galleria.classic.css',

和:
css: false,

这将告诉 Galleria 不要尝试加载样式表。

还有一件事 - 在尝试编译这些 Assets 时,我遇到了显然是 bug in Rails 3.1.0 的内容。 .当我运行 rake assets:precompile ,我收到如下错误:
$ bundle exec rake assets:precompile
rake aborted!
classic-loader.gif isn't precompiled
(in /vendor/assets/stylesheets/galleria.classic.css.scss)

长话短说,您需要在 config/environments/production.rb 中设置此行:
config.assets.compile = true

一旦 3.1.1 发布,这不应该是必要的。

关于ruby-on-rails - 在 Rails 3.1 Asset Pipeline 中放置 Galleria(jQuery 图像库框架)的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248199/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com