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 によって記述されたpretty page title メソッドが Railscastの pretty page title で使用され始めました。

ただし、非常に有望に見えるこのメタタグの宝石に出くわしました:メタタグ

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 リポジトリにさらに多くの例があります。最後のタグ セットが優先されるため、レイアウトで 1 つを設定し、次にページで別のタグを設定すると、ページ内のタグが優先されるように見えます。

これを使用する場合は<%= display_meta_tags %>、レイアウト ページにapplication.html.erb.

于 2013-08-11T05:12:18.187 に答える
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 に答える
0

このリンクもチェックする価値があります - http://joshsymonds.com/blog/2012/07/12/rails-concerns-iii-metatags/

上記のリンクのヘルプを利用しましたが、うまくいきません。OG メタ タグが機能していません。

何が役立つか見てみましょう!

于 2012-07-20T06:59:51.803 に答える