如何使用帖子标题作为Rails 4中浏览器的页面标题

时间:2014-04-21 06:01:47

标签: ruby-on-rails ruby-on-rails-4

我似乎无法弄清楚如何将我正在构建的博客应用上的帖子标题转换为页面标题。下面是我正在使用的帮助程序和应用程序布局中的代码行。我想知道我需要做什么才能让每个帖子标题也成为页面标题。提前感谢您提供的任何帮助。

应用程序助手

 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 %>

3 个答案:

答案 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 %>