【发布时间】:2013-09-09 18:18:08
【问题描述】:
我希望我的样式表保持纯 CSS,但我想使用嵌入式 ruby 来包含一些图像的动态路径:
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
如果我将样式表从 .css 更改为 .css.erb,image_path 会被正确解释,但当我部署到生产环境时,资产管道不会对其进行处理。如果我硬编码路径,那么在生产或开发中都会出错,因为它们加载资产的方式不同。
我该如何解决这个问题?
【问题讨论】:
-
如何将项目部署到生产服务器?你使用
capistrano及其load "deploy/assets"命令吗? -
很遗憾没有。我对部署 Rails 应用程序非常陌生,还没有安装/学习 Capistrano。现在我只是手动拉动更改并重新启动独角兽。
-
如果图像路径是您需要 erb 的唯一原因,我建议废弃 erb 并使用 scss。解决您的问题的 scss 示例如下所示:
background: image-url('hippopotamus.jpg') no-repeat; }
标签: ruby-on-rails ruby asset-pipeline ruby-on-rails-4