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

Mik*_*ord 3 ruby facebook ruby-on-rails

我在页面上定义了一些动态图像:

<%= image_tag(@recipe.image.url(:fixed), :class => 'recipe_image_show') %>
Run Code Online (Sandbox Code Playgroud)

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

<meta property="og:description" content= "<%= @recipe.description %>" />
Run Code Online (Sandbox Code Playgroud)

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

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

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

Kir*_*rat 5

根据聊天讨论,OP正在S3托管图像.

因此,将meta标签定义如下:

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

这将被评估为:

<meta property="og:image" content='https://s3....amazonaws.com/path/to/image.jpg'/>
Run Code Online (Sandbox Code Playgroud)

注意:

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

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