3

在我的 rails 应用程序中,我想将 FB OG 元标记与用户当前所在的页面动态连接。我觉得这应该很简单,但不能让它正常工作。

例如,我有“创意”页面,上面有创意标题和创意描述。

目前,在我的 Application.html.erb 文件中,我有这个(并且标题为 NoMethodError):

<meta property="og:title" content= <%= "#{@idea.title.titleize}" %>/>
<meta property="og:url" content= <%= "http://myurl.com/ideas/#{@idea.id}" %>/>
<meta property="og:description" content= <%= "#{@idea.short_description}" %>/>

我的语法有问题吗?随着这些实例变量的可用性?我不确定我是否完全理解这是如何工作的。谢谢!

4

4 回答 4

9

是的,正如 noob 提到的,将内容声明放在引号内。

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

为了使这些元标记在 Rails 中动态化,人们首先开始使用 Ryan Bates 在漂亮页面标题 railscast中描述的漂亮页面标题方法

但是,我刚刚遇到了这个看起来非常有前途的元标签宝石元标签

使用 gem,管理任何元标记,使它们动态且对 SEO 友好。例子:

set_meta_tags :title => 'Member Login'
# <title>Some Page Title</title>

一次轻松设置所有 facebook:og 标签:

  set_meta_tags :og => {
                  :title    => 'The Rock',
                  :type     => 'video.movie',
                  :url      => 'http://www.imdb.com/title/tt0117500/',
                  :image    => 'http://ia.media-imdb.com/rock.jpg',
                  :video    => {
                    :director => 'http://www.imdb.com/name/nm0000881/',
                    :writer   => ['http://www.imdb.com/name/nm0918711/', 'http://www.imdb.com/name/nm0177018/']
                  }
                }

上面的代码在您调用时输出以下 html <%=display_meta_tags%>

<meta property="og:title" content="The Rock"/> <meta property="og:type" content="video.movie"/> <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/> <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/> <meta property="og:video:director" content="http://www.imdb.com/name/nm0000881/"/> <meta property="og:video:writer" content="http://www.imdb.com/name/nm0918711/"/> <meta property="og:video:writer" content="http://www.imdb.com/name/nm0177018/"/>

源代码和 github repo 中有更多示例。最后一个标签集优先,因此如果您在布局中设置一个,然后在页面中设置另一个,似乎页面中的那个将优先。

如果您使用它,只需确保您<%= display_meta_tags %>的布局页面中有application.html.erb.

于 2013-08-11T05:12:18.187 回答
1

我相信正确的语法是:

<meta property="og:description" content= "<%= @idea.short_description %>" />
于 2013-07-08T20:51:41.620 回答
0

此链接也值得检查 - http://joshsymonds.com/blog/2012/07/12/rails-concerns-iii-metatags/

我已经接受了上面的链接帮助,但这不起作用。OG 元标记不起作用。

让我们看看有什么帮助!

于 2012-07-20T06:59:51.803 回答
0

请阅读我的博客文章,详细解释在整个 Rails 应用程序中实现此功能的简单方法——也许您可以推断将其添加到特定页面。我不确定它是否会解决您的具体问题,但可能有一些有用的调试信息。http://blog.gingergriffis.com/post/59812374302/rails-app-thumbnail-on-facebook

我的博客文章中可能有用的要点是 facebook 调试器工具:http: //developers.facebook.com/tools/debug

以下是我在 application.html.erb 文件中使用的设置:

<meta property=”og:title” content=”Ginger Griffis” /> 
<meta property=”og:type” content=”website” /> 
<meta property=”og:url” content=”http://www.gingergriffis.com/” /> 
<meta property=”og:image” content=”http://www.gingergriffis.com/assets/mylogolarge.jpg” /> 
<meta property=”og:description” content=”I am a RoR web dev...” />
于 2013-09-07T05:49:26.093 回答