使用资产管道和公共/图像与jruby&莺

时间:2012-06-12 17:33:13

标签: ruby-on-rails-3 jruby asset-pipeline warbler

我在使用warbler将其部署为war文件的RoR应用程序上做了一些工作。在我参与之前,应用程序中的少数图像都在资产管道中,但我的角色是引入滑动地图和自行开发的地图图块。

因为瓷砖占用了大量空间,并且因为它们不会像应用程序那样频繁地改变,所以我们只想从public/images/tiles提供服务。将部署应用程序其余部分的war文件,然后将tile解压缩到正确的目录中。

这在开发模式下工作正常,但warbler部署使用上下文路径,并且tile得到404,因为它们位于/ contextpath / images,而不是/ images

我以前没有在一个犹豫不决的环境中工作过,而其他队员本周正好去度假(哈哈!)。 Nick Sieger关于在Warbler: Where are my images使用config.action_controller.asset_host的建议破坏了通过资产工作的图像和css,所以我要感谢其他任何允许资产和公众共存的建议。

1 个答案:

答案 0 :(得分:4)

在production.rb中尝试此行config.assets.precompile += %w( *.js *.scss *.coffee *.css ),然后运行jruby -S rake assets:precompile。 它会将你所有的资产编译成静态资产,然后warbler会相应地打包它们,它应该可以解决你的问题。

您可以检查的另一件事是如何指向视图中的图像。如果您希望在/image中找到它们,则应将路径写为<%= image_tag "\image" %>。关注尾随\