Как добавить favicon в rails 3.2

Я знаю, что новые приложения rails поставляются с пустым favicon.файл ico. Я хочу знать, как я собираюсь добавить фавикон. Я знаю, что вы можете использовать favicon_link_tag помощник, но я не уверен, как заполнить favicon.файл ico. Вы используете генераторы favicon? Если да, то какой лучше?

Я также хочу иметь возможность кэшировать его, делает ли rails это автоматически?

спасибо

11 ответов


создайте свой favicon, например, здесь:http://www.favicon.cc/ и поместите в public / directory

обновление Favicon в общей папке не предварительно скомпилирован и может кэшироваться в течение длительного времени. Похоже, что лучше использовать favicon_link_tag чтобы избежать проблем с обновлением favicon. Я не знаю, нужны ли браузеры favicon в root. Согласно favicon wiki все современные браузеры поддерживает

<link rel="shortcut icon" href="favicon path" /> (favicon_link_tag)

просто добавьте в тег <head></head> раздел ваших макетов:

<%= favicon_link_tag 'favicon.ico' %>

поместите favicon.Ико имидж в /app/assets/images/ Если вы используете актив трубопровода, и в /public/images/ если вы не.

кроме того, есть ошибка при использовании Ruby 2.0 с Rails 3.0.20 (и, возможно, также 3.0.x), это вызовет исключение при попытке рендеринга favicon.ico.

исправление разместить следующий код в application_controller.rb:

  config.relative_url_root = ""

хотя все эти ответы говорят о создании значка 16x16, реальность такова, что вы должны создавать как 16x16, так и 32x32, чтобы поддерживать дисплеи retina. Ни один из онлайн-генераторов сделал очень хорошую работу с этим.

на Mac есть отличное приложение $5 под названием Сланец, что позволяет легко создавать оба формата в одном файле ICO.

на Windows, я использовал Axialis IconWorkshop С большим успехом, но это много более тяжелый инструмент, и значительно дороже примерно на €50.

оба создадут файл ico с изображениями 16x16 и 32x32 внутри него.

Если вы используете конвейер активов, используйте папку app/assets/images, а не /public. Количество браузеров fringe, которые игнорируют link тег быстро приближается к нулю, поэтому прыгать через обручи, чтобы разместить их, не стоит.

как упоминалось в других ответах, используйте это в head для отображения это:

<%= favicon_link_tag 'favicon.ico' %>

Я настоятельно рекомендую этот вариант. Это было легко использовать и бесплатно http://converticon.com


пишите на приложение.формат html.Haml на:

= favicon_link_tag '/images/favicon.ico'

разместить файл favicon.ico в Реж:

project/public/images

вам в значительной степени нужен файл изображения 16x16 пикселей под названием favicon.ico и он должен быть доступен публично в корне вашего сайта.

вы всегда можете использовать главный редактор изображений для преобразования вашего логотипа или другого изображения .формат ico. Есть бесплатные опции, такие как Gimp, которые могут сделать такие отличные значки на основе существующего изображения лучше, чем онлайн-генераторы значков.


Я попробовал ссылки выше, и сервисы были не очень просты в использовании. Я нахожу эту ссылку на другом сайте, и она копируется поверх моей .png файл безупречно и был очень прост в использовании. Я думал, что поделюсь этой ссылкой тоже, так как я думаю, что это лучший сервис.

http://www.chami.com/html-kit/services/favicon/


не делали этого в течение многих лет, но Gimp способен экономить .ICO файлы с несколькими изображениями, имеющими разные размеры. Вам просто нужно экспортировать .формат ico с некоторыми видимыми слоями.


создать favicon для всех платформ (не только для настольных браузеров), вы можете использовать RealFaviconGenerator и драгоценный камень rails_real_favicon:

  • на RealFaviconGenerator и представить свои картины. Вы можете создать свой значок, платформу на платформу: iOS, Android и т. д.
  • как только ваш значок будет готов, нажмите вкладку" рельсы", чтобы получить шаги по установке вашего favicon в вашем проекте Rails. В основном, вас спросят к:
    • добавить rails_real_favicon камень, чтобы вы Gemfile
    • создать новый файл с именем favicon.json. Этот файл описывает значки, которые вы только что разработали.
    • выполнить rails generate favicon фактически создать значки и HTML-код.
    • добавить render 'favicon' в ваших макетах, чтобы вставить HTML-код на ваших страницах.

преимущество этого решения заключается в том, что оно вводит файлы favicon (favicon.ico, apple-touch-icon.png, но и browserconfig.xml и manifest.json) в конвейер активов.

полное раскрытие: я-автор RealFaviconGenerator.


решение, которое я нашел, которое сработало для меня, было сделать следующее:

  1. на http://realfavicongenerator.net/favicon_checker и убедитесь, у вас есть хороший фавикон. Если вы этого не сделаете, используйте их инструмент для создания одного (плюс много других полезных и связанных значков). Примечание: это требует, чтобы у вас был хороший значок (например, PNG) для использования в качестве основы для favicon.
  2. воспользуйтесь http://realfavicongenerator.net предложение использовать ?v=version опция, чтобы помочь победить проблему кэширования браузера. Это помогло мне.
  3. копировать favicon.ico to public и app/assets/images. Вам понадобится только один, но если вы не знаете, какой из них, копирование в оба места не повредит...или вы можете поэкспериментировать, чтобы увидеть, какой из них работает-воспользуйтесь ?v=version выполнить тест.
  4. добавьте следующую строку в <head></head> раздел ваших макетов в файлах app/views/layouts (например приложение.формат html.erb):

<%= favicon_link_tag 'favicon.ico' %>

надеюсь, что обеспечивает простой рецепт. Я уверен, что если я что-то пропустил, кто-то может и улучшит этот ответ.


у меня была проблема, когда я положил файл в /public/favicon.ico, Я использую AWS EBS.

я мог бы исправить ошибку.

лучшим решением для меня было поставить файл в /app/assets/images/favicon.ico и использовать = favicon_link_tag 'favicon.ico'