Il n'y a pas de gemme.
Je me suis référé à l'article suivant pour la balise meta nécessaire pour afficher l'OGP de Twitter. [Édition 2020] Qu'est-ce qu'une carte Twitter? Résumé de l'utilisation et de la méthode de paramétrage
app/helper/application_helper.rb
def full_title(page_title = '')
base_title = 'MC BATTLE CHANNEL'
if page_title.empty?
base_title
else
"#{page_title} | #{base_title}"
end
end
def full_url(path)
domain = if Rails.env.development?
'http://0.0.0.0:3000'
else
'https://mcbattle-ch.jp'
end
"#{domain}#{path}"
end
erb:app/views/layouts/application.html.erb
<head>
<!-- ogp -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@McBattleChannel" />
<meta property="og:title" content="<%= full_title(yield(:title)) %>" />
<meta property="og:url" content="<%= request.url %>" />
<meta property="og:description"
content="<%= content_for?(:description) ? yield(:description) : 'Ceci est un site complet pour les batailles MC.' %>" />
<meta property="og:image"
content="<%= content_for?(:image_url) ? yield(:image_url) : full_url('/assets/other/ogp_default.png') %>" />
erb:app/views/hoge/fuga.html.erb
<%= content_for(:title, "Titre de cette page individuelle!") %>
<%= content_for(:description, "Description de cette page individuelle!") %>
<%= content_for(:image_url, full_url("assets/mc/hoge.img")) %>
Si vous le voyez dans l'environnement de test mais pas dans l'environnement de production, c'est probablement dû au cache OGP. Si vous utilisez l '"Outil pour vérifier l'affichage de l'OGP" ci-dessous, le cache sera effacé en même temps que la vérification de l'affichage. https://cards-dev.twitter.com/validator