我似乎无法弄清楚如何将我正在构建的博客应用上的帖子标题转换为页面标题。下面是我正在使用的帮助程序和应用程序布局中的代码行。我想知道我需要做什么才能让每个帖子标题也成为页面标题。提前感谢您提供的任何帮助。
应用程序助手
module ApplicationHelper
def full_title(page_title)
base_title = "Business Name"
if page_title.empty?
base_title
else
"#{base_title} | #{page_title}"
end
end
end
应用程序布局
<title><%= full_title(yield(:title)) %></title>
show.html.erb
<h1><%= @post.title %></h1>
<p>
<%= @post.body.html_safe %>
</p>
<%= link_to 'Back to Posts', posts_path %>
答案 0 :(得分:1)
在您的帖子/ show.html.erb视图中
<% content_for :title, @post.title %>
答案 1 :(得分:0)
在 application.html.erb
中<head>
<%= yield :title %>
</head>
在你看来
<% content_for :title do %>
<title><%=full_title(@post.title)%></title>
<% end %>
答案 2 :(得分:0)
由@ jbmyid评论,请像这样使用content_for
def full_title(page_title)
base_title = "Business Name"
if page_title.empty?
content_for :title, base_title.to_s
else
"#{base_title} | #{page_title}"
end
在您的应用程序布局中使用它,如:
<title><%= yield(:title) %></title>
然后在模板中调用它:
<% full_title(@post.title %>