Rails出现ActionController::RoutingError错误(没有匹配[GET]“/assets/images/ui-bg_flat_75_ffffff_40x100.png”的路由)。

5

我在一个Rails应用中遇到了以下错误(尝试GET请求一张不存在的图片):

ActionController::RoutingError (No route matches [GET] "/assets/images/ui-bg_flat_75_ffffff_40x100.png"):
actionpack (3.2.12) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (3.2.12) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
...

看起来是jquery-ui.css中已知的错误

这些网站讨论了它:

jquery-ui.css images

Fixed jQuery UI CSS and image location to work with minified assets

还有

Bug report

我在我的样式表文件夹中有jquery-ui.css。 它是这个版本:/*! jQuery UI - v1.9.2 - 2012-11-23

第246行是:

url(images/ui-bg_flat_75_ffffff_40x100.png)

但是,我不知道如何修复它。

任何帮助都将不胜感激!

3个回答

7

我相信您可以通过查看jquery-ui.css和/或jquery-ui.theme.css并找到指向并移除开头的images的行来解决此问题,因此它将看起来像这样。

url(ui-bg_flat_75_ffffff_40x100.png)

替代方式:

url(images/ui-bg_flat_75_ffffff_40x100.png)

这是因为它查找了错误的路径,因此您会收到此错误。


7
与其修改硬编码的url路径,你最好查看Asset Pipeline Rails指南(css和sass)并使用其中列出的资产管道助手。
这样,使用image-path("asset.png")语法,你所引用的资源将始终是正确的。

这对我有用,但还必须将文件名从.css更改为.css.scss。 - Elliott

0

你能否只是更改图像的路径,或确保它存在于你的 /public/assets/images 目录中呢?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接