IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Rails で content_for メソッドを使ってみる

はじめに

ここでは以下の記事を参考にして Rails で content_for メソッドを使ってみることにする。

 

使ってみる

ざっくりとアプリを作成する。

  • rails new title_sample
  • cd title_sample

 

コントローラを作成する。

  • bin/rails g controller Pages about help

 

ページにごとに title 要素の値を動的に設定できるようにする。

application.html.erb で以下のようにする。

f:id:matt-note:20190422124931p:plain

 

app/views/pages/about.html.erb で content_for メソッドを呼び出す。

f:id:matt-note:20190422125024p:plain

 

サーバーを起動して、/pages/about にアクセスしてみる。

f:id:matt-note:20190422125228p:plain

-> title 要素を動的に設定することができた。

 

app/views/pages/help.html.erb で同様の設定をすると、ヘルプページ用の title 要素を設定できる。

f:id:matt-note:20190422125355p:plain

 

ヘルパーメソッドを定義する。

app/helpers/application_helper.rb で title メソッドを定義する。title メソッドでは引数を1つ受け取って、content_for メソッドのブロックに渡す。

f:id:matt-note:20190422130247p:plain

 

ビューで title メソッドを呼び出す。引数には文字列を渡すだけで良いようにした。

f:id:matt-note:20190422130708p:plain

 

これでシンプルに title 要素の値を動的に設定することができる。

f:id:matt-note:20190422130814p:plain