Фавикон в приложении Ruby on Rails

Я помещаю favicon.ico в папку /public/ и включаю следующий код в макет страницы

<%= favicon_link_tag %>

Но, несмотря на это, значок не отображается. Что я должен делать?


person Alexandre    schedule 17.06.2012    source источник
comment
Если он расположен по адресу /favicon.ico, браузеры автоматически подберут его; нет необходимости в чем-либо в HTML. Если это не работает, либо ваш файл ICO недействителен, либо браузер кэшировал старый файл, попробуйте очистить кэш и повторить попытку.   -  person Andrew Marshall    schedule 17.06.2012


Ответы (2)


Я боролся с тем же. Вот что сработало для меня:

<%= favicon_link_tag 'favicon.ico' %>

и переместить favicon.ico в каталог /public/images.

Удачи!

person Anil    schedule 17.06.2012

Я не знаю, что такое favicon_link_tag в вашем приложении, но в целом есть два способа создать фавикон.

  1. Поместите файл значка в корневой каталог приложения (/public). В этом случае вам не нужно ничего делать в своем коде. (не работает в seamonkey, работает во всех других известных мне браузерах)
  2. Поместите элемент link в код основного представления:

     <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/relative/path/to/file.ico" /> 
    
person toniedzwiedz    schedule 17.06.2012
comment
favicon_link_tag является частью Rails. IE не поддерживает иконки PNG. - person Andrew Marshall; 17.06.2012
comment
@AndrewMarshall должен любить IE. Пожалуйста, ознакомьтесь с правкой. Тип ссылки в частности. - person toniedzwiedz; 17.06.2012
comment
Это действительно смешно, я знаю. На самом деле я использую условные комментарии, чтобы показать значок PNG в реальных браузерах, а затем ICO в IE. Также вы можете уточнить корневой каталог, в Rails корень приложения отличается от общедоступного корня, который равен /public, а доступ к файлам в нем осуществляется из HTTP в /. - person Andrew Marshall; 17.06.2012
comment
@AndrewMarshall хорошая мысль. Я уточнил ответ. Спасибо за ваш ценный вклад. - person toniedzwiedz; 17.06.2012
comment
Какой из них является корневым в данном случае (приложение rails): /public/ или именно корневой каталог? - person Alexandre; 17.06.2012
comment
@AlexMaslakov /public, который является корнем HTTP. - person Andrew Marshall; 17.06.2012
comment
лучше всего использовать многослойные .ico для учета дисплеев Retina. Дополнительным преимуществом .ico является то, что вам не нужно беспокоиться о разных форматах в разных браузерах — xiconeditor.com - person Larry; 25.06.2014
comment
@AndrewMarshall, не могли бы вы поделиться кодом того, как вы доставляете .ICO в IE и .PNG в другие браузеры? - person Mauricio Gracia Gutierrez; 18.02.2015
comment
@MauricioGracia Просто используйте условные комментарии IE, чтобы надлежащим образом обернуть тег PNG <rel> с помощью "если не IE», а ICO — с пометкой «если IE». Обратите внимание, что IE10 больше не поддерживает эти комментарии, но иконки PNG не поддерживаются до IE11 :/. - person Andrew Marshall; 18.02.2015