og:轨道上的红宝石中的图像元标记

时间:2014-03-31 20:45:57

标签: ruby-on-rails ruby facebook

我的页面上有如下定义的动态图像:

<%= image_tag(@recipe.image.url(:fixed), :class => 'recipe_image_show') %>

我正在寻找一种使用此代码定义og:image的方法。 og:下面看到的描述代码完美无缺:

<meta property="og:description" content= "<%= @recipe.description %>" />

但是,如果我使用下面的代码,那么它不想工作:

<meta property="og:image" content='<%= image_tag(@recipe.image.url(:fixed), :class => 'recipe_image_show') %>'/>

有什么建议吗?我意识到我在这里使用了单引号,但由于某种原因使用双引号会导致页面忽略'/&gt;'元标记的一部分并将其显示为文本。

2 个答案:

答案 0 :(得分:5)

根据聊天讨论,OP 托管 S3 上的图片。

因此,请按以下方式定义meta标记:

<meta property="og:image" content='<%= @recipe.image.url(:fixed) %>'/>

这将评估为:

<meta property="og:image" content='https://s3....amazonaws.com/path/to/image.jpg'/>

注意:

如果图像存储在您自己的应用程序服务器上,那么您可以将其用作:

<meta property="og:image" content='<%= image_url @recipe.image.url(:fixed) %>'/>

答案 1 :(得分:0)

使用工具https://developers.facebook.com/tools/debug/

点击“再次抓取”以重新加载Facebook缓存

在image_url(“ example.png”)中使用完整路径