我在数据库中有事件记录,每个事件记录都有一个“ meta_keywords”字段。
当我显示一个事件时,我想在页面中生成一个meta标签,以便事件显示页面可以被搜索引擎引用。
预期:
<meta name="description" content="My great event">
<meta name="keywords" content="Event topics">
如何在Rails 5中做到这一点?
答案 0 :(得分:0)
在这里找到了答案,并提供了详细的步骤: https://nithinbekal.com/posts/rails-page-titles/
module ApplicationHelper
def meta_tag(tag, text)
content_for :"meta_#{tag}", text
end
def yield_meta_tag(tag, default_text='')
content_for?(:"meta_#{tag}") ? content_for(:"meta_#{tag}") : default_text
end
end
在layouts / application.html.erb的开头部分:
<meta name='description'
content='<%= yield_meta_tag(:description, 'Default description') %>' />
<meta name='keywords'
content='<%= yield_meta_tag(:keywords, 'defaults,ruby,rails') %>' />
在帖子中#show:
<% meta_tag :description, @post.description %>
<% meta_tag :keywords, @post.keywords.join(',') %>