我的页面上有如下定义的动态图像:
<%= 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;'元标记的一部分并将其显示为文本。
答案 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”)中使用完整路径