Techioz Blog

Ror 7 でファビコンがレンダリングされないのはなぜですか?

概要

これをapplication.html.erbで使用します

<link rel="icon" type="image/ico" href="<%= "#{Rails.root}/public/favicon.ico" %>">

私は自分のdevelopment.rbでそれを使用しています

config.public_file_server.enabled = true

私はこれを application.rb で使用します

config.middleware.use ActionDispatch::Static, File.join(Rails.root, 'public')

私のfavicon.icoはパブリックフォルダーにありますが、このタグはそれ以上機能しません

<link rel="icon" type="image/ico" href="/Users/ivansizyh/Desktop/TechInterrogate/public/favicon.ico">

書くことはすべて私がやります

解決策

Rails アプリのベース フォルダーはパブリック フォルダーであるため、ファビコンのリンクは次のようになります。

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

Rails にはヘルパーもあります。

<%= favicon_link_tag 'favicon.ico' %>

試してみる価値はあるかもしれませんが、favicon.ico ファイルを app/assets/images フォルダーに移動する必要があります。

また、ファイルに favicon.ico という名前を付けてパブリック フォルダーに置く限り、これらのいずれかを省略しても問題なく機能すると思います。ドキュメントについては、こちらを参照してください: https://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-favicon_link_tag。

また、favicon.ico ファイルが正しい形式で読み取り可能であることを確認してください。