Ruby on rails image_path()为引擎资源生成错误的映像路径
我正在使用rails4+ruby2并尝试创建rails引擎。这个引擎有一个单独的assets目录,它有自己的样式表(sass)、Java脚本和图像 问题是,Ruby on rails image_path()为引擎资源生成错误的映像路径,ruby-on-rails,sass,asset-pipeline,Ruby On Rails,Sass,Asset Pipeline,我正在使用rails4+ruby2并尝试创建rails引擎。这个引擎有一个单独的assets目录,它有自己的样式表(sass)、Java脚本和图像 问题是,image\u path()。假设我的引擎名为“Admin”。在/admin/app/assets/images/admin/arrow.png中有一个名为arrow.png的图像文件 如果在application.css.sass中我将使用background:url(image\u path('arrow.png')),它将生成以下url
image\u path()。假设我的引擎名为“Admin”。在/admin/app/assets/images/admin/arrow.png
中有一个名为arrow.png
的图像文件
如果在application.css.sass
中我将使用background:url(image\u path('arrow.png'))
,它将生成以下url:/assets/arrow.png
,这将不起作用。正确的url是/assets/admin/arrow.png
目前可能有两种解决方案:
将所有/admin/app/assets/admin/images/*
移动到/admin/app/assets/images
,或
在image\u path()
方法中的所有图像名称前面加上引擎名,该引擎名为image\u path('admin/arrow.png')
还有其他更好的方法来处理这件事吗?最好的解决方案是:
image\u路径('admin/arrow.png')
或asset\u路径('admin/arrow.png')
As子文件夹也会合并到公共/资产中
。这意味着app/assets/javascripts/subfolder/*
和app/assets/stylesheets/subfolder/*
现在都位于public/assets/subfolder/*