favicon_link_tag(source='/favicon.ico', options={}) public

Web browsers cache favicons. If you just throw a favicon.ico into the document root of your application and it changes later, clients that have it in their cache won’t see the update. Using this helper prevents that because it appends an asset ID:

  <%= favicon_link_tag %>


  <link href="/favicon.ico?4649789979" rel="shortcut icon" type="image/vnd.microsoft.icon" />

You may specify a different file in the first argument:

  <%= favicon_link_tag 'favicon.ico' %>

That’s passed to path_to_image as is, so it gives

  <link href="/images/favicon.ico?4649789979" rel="shortcut icon" type="image/vnd.microsoft.icon" />

The helper accepts an additional options hash where you can override "rel" and "type".

For example, Mobile Safari looks for a different LINK tag, pointing to an image that will be used if you add the page to the home screen of an iPod Touch, iPhone, or iPad. The following call would generate such a tag:

  <%= favicon_link_tag 'mb-icon.png', :rel => 'apple-touch-icon', :type => 'image/png' %>
Show source
Register or log in to add new notes.
November 7, 2014 - (v1.0.0 - v4.0.2)
0 thanks

Non Layout Pages

A 404 error for the favicon will be thrown on pages where there is no layout if there isn’t a favicon in the public folder.

A situation would be when a controller method is used to render an image and the user chooses to open the image in a new tab bypassing the layout and the favicon_link_tag.