その3から続く
4章Rails風味のRuby
4.1.1 組み込みヘルパー
サンプルアプリケーションのレイアウト
app/views/layouts/application.html.erb
<!DOCTYPE html>
<html>
<head>
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all',
'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application',
'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= yield %>
</body>
</html>
stylesheet_link_tag
(詳細はRails API参照) を使って、application.css
をすべてのメディアタイプで使えるようにしています
4.1.2 カスタムヘルパー
新しく作ったメソッドはカスタムヘルパー
<%= yield(:title) %> | Ruby on Rails Tutorial Sample App
<% provide(:title, "Home") %>
<h1>Sample App</h1>
<p>
This is the home page for the
<a href="https://railstutorial.jp/">Ruby on Rails Tutorial</a>
sample application.
</p>
full_title
というヘルパーを作成することにします。
full_title
ヘルパーを定義するapp/helpers/application_helper.rb
module ApplicationHelper
# ページごとの完全なタイトルを返します。
def full_title(page_title = '')
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
base_title
else
page_title + " | " + base_title
end
end
end
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
<title><%= full_title(yield(:title)) %></title>