og meta tags not working rails
<!-- app/views/offers/show.html.erb -->
<% content_for :meta_title, "#{@offer.name} is on #{DEFAULT_META["meta_product_name"]}" %>
<% content_for :meta_description, @offer.description %>
<% content_for :meta_image, cl_image_path(@offer.photo.path) %>
5
9
# config/initializers/default_meta.rb
# Initialize default meta tags.
DEFAULT_META = YAML.load_file(Rails.root.join("config/meta.yml"))
Thank you!
9
0
4.6
5
# app/helpers/meta_tags_helper.rb
module MetaTagsHelper
def meta_title
content_for?(:meta_title) ? content_for(:meta_title) : DEFAULT_META["meta_title"]
end
def meta_description
content_for?(:meta_description) ? content_for(:meta_description) : DEFAULT_META["meta_description"]
end
def meta_image
meta_image = (content_for?(:meta_image) ? content_for(:meta_image) : DEFAULT_META["meta_image"])
# little twist to make it work equally with an asset or a url
meta_image.starts_with?("http") ? meta_image : image_url(meta_image)
end
end
Thank you!
5
0
5
1
# config/meta.yml
meta_product_name: "Product Name"
meta_title: "Product name - Product tagline"
meta_description: "Relevant description"
meta_image: "cover.png" # should exist in `app/assets/images/`
twitter_account: "@product_twitter_account" # required for Twitter Cards
Thank you!
1
0
4.5
6
<title><%= meta_title %></title>
<meta name="description" content="<%= meta_description %>">
<!-- Facebook Open Graph data -->
<meta property="og:title" content="<%= meta_title %>" />
<meta property="og:type" content="website" />
<meta property="og:url" content="<%= request.original_url %>" />
<meta property="og:image" content="<%= meta_image %>" />
<meta property="og:description" content="<%= meta_description %>" />
<meta property="og:site_name" content="<%= meta_title %>" />
<!-- Twitter Card data -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="<%= DEFAULT_META["twitter_account"] %>">
<meta name="twitter:title" content="<%= meta_title %>">
<meta name="twitter:description" content="<%= meta_description %>">
<meta name="twitter:creator" content="<%= DEFAULT_META["twitter_account"] %>">
<meta name="twitter:image:src" content="<%= meta_image %>">
Thank you!
6
0
4.33
6
# app/controllers/application_controller.rb
def default_url_options
{ host: ENV["DOMAIN"] || "localhost:3000" }
end
Thank you!
6
0
4.5
2
heroku config:set DOMAIN=www.my_product.com
Thank you!
2
0
Are there any code examples left?
New code examples in category Ruby
-
Ruby 2022-03-27 13:25:03 ruby assign value to hash
-
Ruby 2022-03-25 04:05:10 test if array empty ruby
-
Ruby 2022-03-24 19:45:17 rails update without validation
-
Ruby 2022-03-23 05:15:08 ruby hello world
-
Ruby 2022-03-23 02:40:01 rails keep all params except for some
-
Ruby 2022-03-20 06:15:08 rails hidden field default value
-
Ruby 2022-03-19 19:55:31 print things ruby
-
Ruby 2022-03-18 22:15:07 rails command line
-
Ruby 2022-03-18 08:10:03 ruby get the number of same element in array
-
Ruby 2022-03-17 02:40:17 drop rails all db