ActionController :: RoutingError没有路由匹配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActionController :: RoutingError没有路由匹配相关的知识,希望对你有一定的参考价值。

在我的rails开发环境中,我遇到了很多这样的错误

ActionController :: RoutingError(没有路由匹配[HEAD]“/assets/quick_view_img_5-1ad660d2c659e1c1c0240651f669583d3f74ec91152b4672ef043234891f873a@2x.jpg”):

我注意到所有图像资产都附加了导致错误的@ 2x。当我尝试删除文件名中的@ 2x字符时,可以找到图像。

为什么rails会将@ 2x附加到我的所有图像上?以及如何删除它。

答案

Retina.js和Retina.min.js对此负责,正如上面评论中提到的@steveklein。

这个javascript脚本在您的服务器上搜索高质量的图像,并在图像名称的末尾添加“@ 2x”,就在扩展名称之前,如果找到的话。所以image.jpg变成了image@2x.jpg。

您需要将一个名为image@2x.jpg的图像添加到您的资源文件夹中以显示在Retina屏幕上,或者根本不包含Retina.js和Retina.min.js脚本。

从资产文件夹中删除脚本后,不要忘记执行rake assets:clobberrake assets:precompile

以上是关于ActionController :: RoutingError没有路由匹配的主要内容,如果未能解决你的问题,请参考以下文章

设计中的 ActionController::UrlGenerationError::Registrations#create

Redis + ActionController::Live 线程不会死

ActionController::UrlGenerationError,没有路由匹配

Rails 6 - 常量 ActionController::InvalidAuthenticityToken

设计注册控制器的ActionController :: UrlGenerationError

Rails 部分更新 ActionController::UnknownFormat