2012-07-19 161 views
2

在我的Rails應用程序中,我想要將FB OG元標籤動態地與用戶當前所在的頁面連接起來。我覺得這應該是直截了當的,但不能讓它正常工作。Facebook的OG Meta標籤application.html.erb

例如,我有「創意」頁面,其上有一個創意標題和一個創意描述。

目前,我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}" %>/> 

是否有一個問題,我的語法?有了這些實例變量的可用性嗎?我不確定我完全理解這是如何工作的。謝謝!

回答

1

我相信正確的語法是:如小白提到

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

是,使內容的聲明是在引號內。

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

爲了使這些元標籤Rails的動態,人們首先使用由Ryan貝茨在pretty page title railscast

描述然而漂亮的頁面標題的方法開始,我只是碰到來到這個元標記的寶石看起來非常有希望meta-tags

隨着寶石,管理任何元標記,使他們動態和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回購中的例子。最後一個標記集優先,所以如果你在佈局中設置了一個標記集,那麼你的頁面中的另一個標記集看起來好像是頁面中的那個優先。

如果你使用這個,只要確保你的佈局頁面有<%= display_meta_tags %>application.html.erb

+0

嘿丹尼,是寶石與軌道4兼容? – 2013-09-07 10:11:50

+0

它似乎是(我沒有任何問題,並已升級到軌4),但是我沒有看到任何最近提交任何與軌道4做任何事,它沒有列在http://ready4rails4.net/ 。 – Danny 2013-09-07 23:01:03

+0

很酷,謝謝:) – 2013-09-08 07:52:34

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...」 /> 
+0

謝謝kleopatra - 我相當新這和欣賞的反饋。我的博客帖子的主要觀點可能是facebook調試工具:https://developers.facebook.com/tools/debug。以下是我在application.html.erb文件中使用的設置: ' – Sedona 2013-09-07 17:52:33

+0

正在新的沒有問題,希望我的提醒是溫和的足夠:-)順便說一句,你可以編輯你的答案,並在那裏添加細節(在你的評論中),它會更具可讀性。 – kleopatra 2013-09-08 07:04:26