我知道,在技术上,应该进入/ vendor / assets / javascripts,但我的理解是,这个Galleria文件夹与jQuery&主题想要在实际网站的根(/ galleria)中,以便正常工作.
此外,当我们在这里,放置以下脚本的地方,它将只出现在带有图库的页面上?
<script> $('#gallery').galleria({ width:500,height:500 }); </script>
编辑:惊讶没有回应!也许广场是不是很受欢迎?这些是我要加载的文件.他们是捆绑的,虽然我可以轻松地移动他们:
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.将加载应用/资产,库/资产和供应商/资产的所有内容?
解决方法
当然,你可以回到旧的做事方式,把所有东西都放在“公共”中,但是我们希望自动合并所有的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不要尝试加载样式表.
还有一件事 – 当试图编译这些资产时,我遇到了一个明显的bug in Rails 3.1.0.当我运行rake资产:预编译时,我有错误,如:
$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被释放,这不是必需的.