在我的rails应用程序中,我想动态连接FB OG Meta Tags与用户当前所在的页面。我觉得这应该是直截了当的,但不能让它正常工作。
例如,我有“Idea”页面,其中有一个Idea标题和一个Idea Description。
目前,在我的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}" %>/>
我的语法有问题吗?随着这些实例变量的可用性?我不确定我完全理解这是如何工作的。谢谢!
答案 0 :(得分:9)
是的,因为noob提到,使内容声明在引号内。
<meta property="og:description" content= "<%= @idea.short_description %>" />
为了让这些元标记在Rails中动态化,人们首先开始使用Ryan Bates在pretty page title railscast
中描述的漂亮页面标题方法但是,我刚刚遇到这个看起来非常有前景的元标记:meta-tags
使用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/']
}
}
当您调用<%=display_meta_tags%>
时,上面的代码会输出以下html:
<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
。
答案 1 :(得分:1)
我相信正确的语法是:
<meta property="og:description" content= "<%= @idea.short_description %>" />
答案 2 :(得分:0)
此链接也值得检查 - http://joshsymonds.com/blog/2012/07/12/rails-concerns-iii-metatags/
我已经采取了上述链接帮助,但这不起作用。 OG元标记不起作用。
让我们看看有什么帮助!
答案 3 :(得分: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...” />