由于我在Hootsuite上检索Amazon S3上的图像存储时遇到问题,因此我想通过og:image标记添加“后备”图像。 (让我们忽视了S3的问题在这里,这是另一天)。 的图像在我的Heroku和那些没有图像指定,否则文章存储在本地,我成功地使用它,如下所示:Rails:使用资产管道散列URL创建og:图像
<%= image_tag "fallback/my-fallback-image.jpg" %>
出于某种原因尽管如此,Hootsuite的算法仍然非常愚蠢,因此我想添加og:image
。
的应用布局检索标签像这样:
<%= yield :og_image %>
我已经附加了辅助像这样:
def og_image(url)
content_for(:og_image, tag(:meta, :property => "og:image", :content => url)) if url
end
在视图中,我添加图像像这样:
<%= provide(:og_image, og_image(image_url("/fallback/my-fallback-image.jpg"))) %>
在制作中,虽然image_tag
(如上所示)工作正常,并且包含散列,但是og:image
标签结束是这样的:
<meta property="og:image" content="http://www.example.com/images/%2Ffallback%2Fmy-fallback-image.jpg" />
因此,它不仅弄乱了斜杠,它也忘记了散列。
我受到Heroku的限制,想要坚持使用资产管道。我应该怎么做?
谢谢!
奇怪的是,这对我有用。无论如何,很高兴你能找到解决方案。 – tegon