【问题标题】:ActionController::RoutingError No route matcheActionController::RoutingError 没有路由匹配
【发布时间】:2015-10-13 02:49:18
【问题描述】:

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

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

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

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

【问题讨论】:

  • 正在使用retinajs?看起来这是此 gem 的预期行为。
  • @steveklein 你的权利,但对我来说它不是宝石。我在 javascript 资产中包含了retinajs。你能把答案贴出来让我给你加分吗?
  • 谢谢@Chris,但我真的不明白到底发生了什么,也不想留下不准确的答案。你能回答并接受吗?很高兴你能弄明白。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rubygems


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多