【发布时间】:2013-11-20 21:45:42
【问题描述】:
我正在使用 rails4 + ruby2 并尝试创建一个 rails 引擎。这个引擎有一个单独的 assets 目录,里面有它自己的样式表(sass)、javascripts 和图像。
问题是,image_path() sass 助手生成了错误的图像路径。假设我的引擎被称为“管理员”。 /admin/app/assets/images/admin/arrow.png中有一个名为arrow.png的图片文件。
如果我在application.css.sass 中使用background: url(image_path('arrow.png')),它将生成以下网址:/assets/arrow.png,这将不起作用。正确的网址是/assets/admin/arrow.png。
目前可能有两种可能的解决方案:
- 将所有
/admin/app/assets/admin/images/*移至/admin/app/assets/images,或 - 在
image_path()方法中的所有图像名称前加上引擎名称,这给了我image_path('admin/arrow.png')。
还有其他更好的方法来处理这件事吗?
【问题讨论】:
标签: ruby-on-rails sass asset-pipeline