Ruby on rails 如何在资产管道中使用favicon?

Ruby on rails 如何在资产管道中使用favicon?,ruby-on-rails,ruby,ruby-on-rails-4,asset-pipeline,Ruby On Rails,Ruby,Ruby On Rails 4,Asset Pipeline,我正在使用一个在线生成器实现一个favicon(但其他生成器,如www.favicon-generator.org,工作原理相同)。生成器提供了近30个文件(android、apple、不同大小的图像等),这就是为什么我将所有这些文件放在资产管道(assets/images/favicons/)中,而不是放在公用文件夹中(否则会变得非常混乱) 文件中包括一个xml文件browserconfig.xml和一个json文件manifest.json(不确定它们的确切用途)。在标题中,我使用以下命令加

我正在使用一个在线生成器实现一个favicon(但其他生成器,如www.favicon-generator.org,工作原理相同)。生成器提供了近30个文件(android、apple、不同大小的图像等),这就是为什么我将所有这些文件放在资产管道(
assets/images/favicons/
)中,而不是放在公用文件夹中(否则会变得非常混乱)

文件中包括一个xml文件
browserconfig.xml
和一个json文件
manifest.json
(不确定它们的确切用途)。在标题中,我使用以下命令加载两个文件:

<%= content_tag :meta, nil, content: image_path("favicons/browserconfig.xml"), name: 'msapplication-config' %>
<%= content_tag :link, nil, href: image_path("favicons/manifest.json"), rel: :manifest %>
manifest.json:

{
  "name": "AppName",
  "icons": [
    {
        "src": "\/android-chrome-36x36.png",
        "sizes": "36x36",
        "type": "image\/png",
        "density": "0.75"
    },
    {
        "src": "\/android-chrome-48x48.png",
        "sizes": "48x48",
        "type": "image\/png",
        "density": "1.0"
    },
    # etc.
  ]
}

事实证明,这比预期的要容易。我将这两个文件重命名为
.xml.erb
.json.erb
,并使用Ruby/Rails
image\u path
对引用进行了重新编码。现在,我认为参考资料起作用了。

最好将favicon放在您的公用文件夹中,否则它将在编译时在名称中包含指纹

{
  "name": "AppName",
  "icons": [
    {
        "src": "\/android-chrome-36x36.png",
        "sizes": "36x36",
        "type": "image\/png",
        "density": "0.75"
    },
    {
        "src": "\/android-chrome-48x48.png",
        "sizes": "48x48",
        "type": "image\/png",
        "density": "1.0"
    },
    # etc.
  ]
}