ruby-on-rails – ActionController :: RoutingError(没有路由匹配[GET]“/favicon.ico”)在Rails

我试过使用

<link href="/favicon.ico" rel="shortcut icon" /> 

以及这一点

<link href="/assets/favicon.ico" rel="shortcut icon" />

但是我仍然在日志文件中看到这个错误

ActionController::RoutingError (No route matches [GET] "/favicon.ico"):

favicon.ico是在公共文件夹(我也把它放在app / assets文件夹)

如何解决这个错误?

您收到此错误是因为您的应用程序的公开/目录中没有favicon.ico。因为该文件不存在,Rails移动,寻找一个与config / routes.rb中的/favicon.ico匹配的路由。

您可以通过以下两种方式之一解决此问题

>手动将favicon.ico文件放在应用程序的公用/目录中。
>将favicon.ico放在app / assets / images /中,然后更改您的< link ...标签以使用image_path

<link href="<%= image_path("favicon.ico") %>" rel="shortcut icon" />

这将把favicon.ico放在public / assets / favicon.ico中,而不是在文档根目录中。

我建议坚持使用#1以上。

至于为什么这个请求甚至显示在您的日志中,许多现代浏览器会查看/favicon.ico的域的根部,以便在标签或地址栏中使用书签或演示文稿。这就是为什么将favicon.ico保留在您的域的根目录中,以防浏览器决定(无论什么原因)忽略您的< link rel =“icon shortcut”...标签。

http://stackoverflow.com/questions/15687506/actioncontrollerroutingerror-no-route-matches-get-favicon-ico-in-rails

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails – ActionController :: RoutingError(没有路由匹配[GET]“/favicon.ico”)在Rails