favicon.ico被渲染为查询参数的一部分;可能的路线问题

时间:2012-10-18 19:34:58

标签: ruby-on-rails ruby-on-rails-3.1 routes

在localhost / WEBrick配置中(Rails 3.1,ruby 1.9.2,我的一条路由将favicon.ico文件作为请求参数。它似乎只在这一条路线上,我不确定它为什么这样做这样:

在我的路线中: 的routes.rb

scope '/arc' do 
  match '/item/:id' => 'items#show', :as => :item_show  # id can be either integer or text 
end

在html中:

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> 

Started GET "/arc/item/test-306-some-item" for 127.0.0.1 at 2012-10-18 12:18:18 -0700

... 它为什么这样做???只在上面的路线?

Started GET "/arc/item/favicon.ico" for 127.0.0.1 at 2012-10-18 12:18:22 -0700
Creating scope :page. Overwriting existing method Item.page.
  Processing by ItemsController#show as 
  Parameters: {"id"=>"favicon"}

关于它为什么会这样做的任何想法?

3 个答案:

答案 0 :(得分:4)

使用绝对URI /favicon.ico,然后它将按预期工作。

答案 1 :(得分:0)

您需要提供favicon的完整路径

喜欢

<link rel="shortcut icon" href="/assets/favicon.ico" type="image/x-icon" />

为了在开发和生产等所有环境中工作,您可以使用Rails标记

<%= favicon_link_tag "favicon.ico" %>

答案 2 :(得分:0)

尝试:

<link rel="icon" type="image/png" href="<%= image_path("favicon.png") %>" />