railsチュートリアル 第四章


はじめに

railsチュートリアルで理解しにくいところや、詰まったところを書いていく記事になります。
なので、手順を示す記事とはなっていません。

カスタムヘルパー

Railsのビューでは膨大な数の組み込み関数が使えるが、それだけでなく、新しく作成することもできる。
新しく作ったメソッドはカスタムヘルパー と呼ばれる。
例として、タイトル用のカスタムヘルパーを作成する。

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

ビュー側ではこれを以下のように使う。

app/views/layouts/application.html.erb
<title><%= full_title(yield(:title)) %></title>

これによりページタイトルがない場合とある場合で、きちんとタイトルの表示を分けることができる。

ブロック

(1..5).each { |i| puts 2 * i }

というeachメソッドがあれば、{}の部分がブロックとなる。

mapメソッドなどがある。

>> %w[A B C].map { |char| char.downcase }
=> ["a", "b", "c"]
>> %w[A B C].map(&:downcase)
=> ["a", "b", "c"]

mapメソッドは、渡されたブロックを配列や範囲オブジェクトの各要素に対して適用し、その結果を返す。

終わり

四章に関してはあまり学ぶことがなかった、、、

次↓
https://qiita.com/jonnyjonnyj1397/items/c241f62eca6b8fd6e337