ぞえの技術めも

Ruby on Rails勉強中

【71日目】【1日20分のRailsチュートリアル】【第7章】演習の4.(flash用のHTMLを読みやすくする)

Ruby on Railsチュートリアル(第3版)

今日は「7.7 演習」の4.から。

7.7 演習

4. 7.4.2で触れたように、flash用のHTML (リスト7.25) は読みにくいです。
より読みやすくしたリスト7.34のコードに対してテストスイートを実行し、こちらも正常に動作することを確認してください。
このコードでは、Railsのcontent_tagヘルパーを使用しています。

元のコードはHTMLとERBが混ざっているので読みづらい、という話。
リスト7.34のコードは下記。

app/views/layouts/application.html.erb

      <% flash.each do |message_type, message| %>
        <%= content_tag(:div, message, class: "alert alert-#{message_type}") %>
      <% end %>

まずcontent_tagについて調べてみました。

content_tag - リファレンス - - Railsドキュメント

タグを動的に生成
HTMLとERBが混ざってしまう場合などに使用するとすっきり表現できる

答えそのまま、みたいなこと書いてありました。。

特定のタグのクラス名とか中身を動的に指定したい場合に使えるメソッドっぽい。

コード修正したのでテスト実行。特に問題なし。

$ bundle exec rake test
21 tests, 46 assertions, 0 failures, 0 errors, 0 skips

これでやっと第7章が終わりました!
作業時間は短いけどキリがいいので今日はここまで。

今日の作業時間は【10分】

次は「第8章 ログイン、ログアウト」から。