出張から帰ってきました。(新幹線の中では睡魔に負けてしまった!)
洗濯物を一通り済ませ、今日も勉強を続けます。
家だと寝てしまいそうなので近所のカフェでコードをぽちぽちしてたのだけれど今日は異様に眠いです。
どうやら運動はしてないけど移動って心身が変に疲れます。。
あくびが止まらん。。
今日はRailsチュートリアルで埋め込みRubyの所をやってます。
埋め込みRuby
コードの重複はRubyのDon't Repeat yourself の概念に反します。
別々のファイル内に重複するコードを一括で取り除きます。
まずRailsチュートリアルの流れに沿ってやっていきます。
Railsのprovideメソッドを使ってタイトルをページごとに変更します。
<% provide(:title, "Home") %>
上のコードでは「<% ... %>」という記法が使われており、その中からRailsのprovideメソッドを呼び出しています。メソッドの引数では、"Home"という文字列と:titleというラベルを関連付けています。
そしてタイトルの部分では、上の記法と連携する「<%= ... %>」というよく似た記法を使い、その中でRubyのyieldメソッドを呼び出しています。このメソッドによって、テンプレートのその部分に実際のタイトルが挿入されます。
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
2つのERBの違い
<%.....%>と書くと中のコードを実行するが出力されない。
<%= ......%>と等号を書くとテンプレートの部分に実行結果が表示される。
この2つのコードを前に作ったabout,help,homeページのhtml.erbのファイルに書きます。
今日は睡魔がやばいので一旦ここで止めます!