railsのfaviconの設定

public/favicon.icoにアイコンを置いたとしてfavicon_link_tagを引数省略して書くとデフォルトでpublicファルダのファビコンが読み込まれるとネットで見た。

が省略したらpathがimages/favicon.icoになる。

Railsのソースを見るとこうなっていた。

def favicon_link_tag(source='favicon.ico', options={})
  tag('link', {
      :rel  => 'shortcut icon',
      :type => 'image/x-icon',
      :href => path_to_image(source)
      }.merge!(options.symbolize_keys))
end

デフォルトだとassets/images以下のfavicon.icoを読み込む。 よって、特にこだわりがなければassets/imagesfavicon.icoを配置する。 assets/images以下に置けば、フィンガープリンティングされてブラウザのキャッシュ対策が行われるのでpublicに置くよりこちらに置く方がよいはず。

それにしてもicoを毎回iconと書いてて表示されなくてぐぬぬってなるのどうにかしたい。