Ruby on rails Rails中的ActionController::RoutingError(没有路由匹配[GET]";/favicon.ico";)

Ruby on rails Rails中的ActionController::RoutingError(没有路由匹配[GET]";/favicon.ico";),ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我试着用 <link href="/favicon.ico" rel="shortcut icon" /> favicon.ico位于公用文件夹中(我也将其置于app/assets文件夹中) 如何修复此错误 出现此错误是因为应用程序的public/目录中没有favicon.ico。因为文件不存在,Rails继续寻找与config/routes.rb中的/favicon.ico匹配的路由 您可以通过以下两种方式之一解决此问题 手动将favicon.ico文件放入应用程序的publi

我试着用

<link href="/favicon.ico" rel="shortcut icon" /> 
favicon.ico位于公用文件夹中(我也将其置于app/assets文件夹中)


如何修复此错误

出现此错误是因为应用程序的
public/
目录中没有
favicon.ico
。因为文件不存在,Rails继续寻找与
config/routes.rb
中的
/favicon.ico
匹配的路由

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

  • 手动将
    favicon.ico
    文件放入应用程序的
    public/
    目录中
  • favicon.ico
    放入
    app/assets/images/
    中,然后更改您的
    
    
    这将把
    favicon.ico
    放在
    public/assets/favicon.ico
    中,而不是放在文档根目录中

  • 我建议坚持上面的#1



    至于为什么这个请求甚至会出现在您的日志中,许多现代浏览器会在域的根目录中查找
    /favicon.ico
    ,以用于书签或在选项卡或地址栏中显示。这就是为什么最好将
    favicon.ico
    保留在域的根目录中,以防浏览器决定(出于任何原因)忽略您的
    这是Rails默认在application.html.erb中生成的:

    <%= favicon_link_tag 'favicon.ico', :rel => 'shortcut icon' %>
    
    快捷方式图标“%”
    当favicon.ico处于/public下时,它不会以这种方式找到它

    如果您将标记更改为:

    <%= favicon_link_tag %>
    

    favicon.ico
    放在我的公用文件夹中不起作用,所以我结合了其他一些答案,想出了这个简单的工作方法

    复制输出并注入
    image\u路径
    ,如下所示:

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

    现在将
    favicon.ico
    放入您的
    assets/images
    文件夹,即可设置。

    favicon.ico放入app/assets/images/,然后添加

    <link href="<%= image_path("favicon.ico") %>" rel="shortcut icon" />
    
    
    
    在布局文件中


    这对我很有用。

    尝试将favicon.ico添加到web服务器的根目录中,然后重试。我必须同时执行#1和#2。我用的是favicon链接标签助手。我想你说得绝对正确。我的favicon配置都设置正确,但我仍然偶尔看到这些错误。很难确认,但我猜有些设备/浏览器/用户代理是硬编码的,可以在公共目录favicon.ico中查找它。为了满足这些请求,我们在公共目录中添加了一个,错误就消失了。
    <%= favicon_link_tag %>
    
    <link href="<%= image_path("favicon.ico") %>" rel="shortcut icon" type="image/vnd.microsoft.icon" />
    
    <link href="<%= image_path("favicon.ico") %>" rel="shortcut icon" />