質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

3130閲覧

【Rails】meta-tagsを使ったOGP、Twitterカードの設定について

_ayumi

総合スコア25

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/11/07 15:33

編集2017/11/08 13:14

下記の記事を参考に、全く同じファイル構成、記述でメタタグの設定をしました。

http://post.simplie.jp/posts/17

meta titleなどは個別ページでも上手く上書きされたのですが、OGP、TwitterCardのtitle、descriptionなどはデフォルトのままになってしまいます。

controllerのそれぞれのアクションで記事のとおりtitleを上書きするようにしているのですが、なぜでしょうか?

教えていただけますと幸いです。

app/controllers/concern/meta_taggable.rb:

Ruby

1module MetaTaggable 2 extend ActiveSupport::Concern 3 4 include ActionView::Helpers::AssetUrlHelper 5 6 included do 7 before_action :prepare_meta_tags 8 end 9 10 private 11 12 def prepare_meta_tags(options = {}) 13 base = t('meta_tags.base') 14 site = base[:site] 15 description = base[:description] 16 title = t("meta_tags.titles.#{controller_name}.#{action_name}", default: 'サイトの名前') 17 image = image_url('image.png') 18 19 defaults = { 20 site: site, 21 title: title, 22 description: description, 23 keywords: base[:keywords], 24 og: { 25 url: request.url, 26 title: title, 27 description: description, 28 site_name: site, 29 type: 'article', 30 image: image 31 }, 32 twitter: { 33 card: 'summary', 34 site: '@simpliejp', 35 title: title.presence || site, 36 description: description, 37 image: image 38 } 39 } 40 41 options.reverse_merge!(defaults) 42 43 set_meta_tags(options) 44 end 45end

Ruby

1ja: 2 meta_tags: 3 base: 4 site: サイト名 5 description: サイトの説明

下記でそれぞれ上書きしていますが、meta titleしか上書きできていません。

topics_controller.rb

Ruby

1def show 2 @topic = Topic.find(params[:id]) 3 prepare_meta_tags(title: @topic.text.truncate(35), description: @topic.text) 4end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

rainierさんの書いたソースコードを貼っていただけますか?

投稿2017/11/08 00:54

kenny_sayama

総合スコア1036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_ayumi

2017/11/08 13:15

ありがとうございます。ソースコードを追加しました。よろしくお願いいたします!
kenny_sayama

2017/11/08 14:52

明日でよければ、サンプルのソースを貼ります
_ayumi

2017/11/09 07:23

viewのほう、application.html.erbには下記の一行のみを記述しています。 <%= display_meta_tags reverse: true %> OGPをどこから上書きするかわからないんです・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問