『Ruby on Rails 5 アプリケーションプログラミング』を学習する11

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

序文

Ruby on Rails 5 アプリケーションプログラミング」学習11日目。
他のことやりたくなったのでちょっとだけ。

GitHub

github.com

進捗

  • 第4章 ビュー開発
    • 4.5 その他のビューヘルパー
      (学習時間:1時間)

コード実装部分

↓/config/routes.rb

# 省略

  get  'view/capture'

  get  'view/tag'

  get  'view/content_tag'
end

↓/app/views/yahoo/list.html.erb

# 省略

<%# YAML形式に変換した結果をブラウザに表示する %>
<%= debug(@cds) %>
<%# こんなのもある %>
<%= @cds.inspect %>

↓/app/views/view/capture_html.html.erb

<%# captureメソッドでビューのコードごと変数に代入できる %>
<% @current = capture do %>
ただいまの時刻は<%= Time.now %>です。
<% end %>
<%= @current %>
<div style="color:Red"><%= @current %></div>
<%# ただいまの時刻は2018-04-03 04:27:53 +0000です。 %>
<%# <div style="color:Red">ただいまの時刻は2018-04-03 04:27:53 +0000です。
</div> %>

↓/app/views/view/tag.html.erb

<%# HTMLタグを作れる(使うタイミングがわからない) %>
<%= tag(:br) %>
<%# <br /> %>
<%= tag(:input, { type: 'radio', disabled: true }, true) %>
<%# <input type="radio" disabled="disabled"> %>

↓/app/views/view/content_tag.html.erb

<%# 内容を持つHTMLタグを生成する(どこで使う?) %>
<%= content_tag :p, 'カロリーメイトください', id: :calorie, class: :mate %><br />
<%# <p id="calorie" class="mate">カロリーメイトください</p> %>

<%# ブロックとして内容を渡すこともできる %>
<%= content_tag :p, id: :calorie, class: :mate do %>
  カロリーメイトください
<% end %><br />
<%# <p id="calorie" class="mate">カロリーメイトください</p> %>

<%# 入れ子にもできる %>
<%= content_tag :b, content_tag(:p, 'カロリーメイトください'), id: :calorie %>
<%# <b id="calorie"><p>カロリーメイトください</p></b> %>

実行結果

f:id:yjkym:20180403135428p:plain

感想

4ページだけ学習。

オブジェクトの内容をブラウザに書き出せるのはすごく使えそー。
今までずっとppでコンソールに出力してた。

一方、HTMLタグ出力するヘルパーはどこで使えば良いのかよくわからない。
カロリーメイトください。

BGM

ロケットで(泉川そらカバー) / 花*花 www.youtube.com