Rails7ベーシック試験の実施を前にして、「試験に備えよう!」というこのコラム。
第3回目も出題範囲の概要、抑えておきたいことを解説します。今回はRailsアプリケーション開発で最も重要と言える3つの要素、「ビュー」「モデル」「コントローラー」のうち、「ビュー開発」について取り上げます。
「ビュー開発」
出題範囲「ビュー開発」では、Action View、レイアウトやビューヘルパーについて全体の20%の割合で出題されます。
Webアプリケーションにおけるビューは、ユーザーがスマートフォンやPCなどのWebブラウザで実際に見て、触れる要素です。
見栄え良く、かつユーザーに取って扱いWebアプリケーションを効率的に開発するためのRailsの仕組みについて学習しておきましょう。
レイアウト
アプリケーション共通のデザインを定義する機能です。app/views/layouts
ディレクトリ下に配置されるファイルの扱い方について抑えておきましょう。
- 標準で生成される
application.html.erb
の扱い方 - 自身でレイアウトテンプレートを追加して利用する方法
- 複数のレイアウトを呼び出して利用する方法
部分テンプレート
部分的に共通のデザインを定義する機能である、部分テンプレート・パーシャルビューについてもこの出題範囲で扱われます。
部分テンプレートを追加する方法、追加した部分テンプレートを利用する際に用いるヘルパーメソッドrender
の使い方を確実に抑えておきましょう。
ビューヘルパー
ActionView::Helpers
名前空間下に定義されているモジュールが出題の対象となります。
ベーシック試験の範囲では完全な一覧 の全てを理解しておく必要はありませんが、以下に挙げるような基本的なヘルパーメソッドの使い方は抑えておく必要があります。
外部リソースを扱うためのヘルパー
画像や動画、JavaScriptやスタイルシートを扱うためのヘルパー、ActionView::Helpers::AssetTagHelper
モジュールが対象です。
よく利用する外部リソースに関係するヘルパーメソッドは把握しておきましょう。
メソッドの一覧はこちらで確認できます。
リンク関連のヘルパー
各種リンクを扱うためのヘルパー、ActionView::Helpers::UrlHelper
モジュールが対象です。
もっとも基本的なlink_to
の他にも、メールアドレスや電話番号を扱うための専用のヘルパーメソッドも存在します。
メソッドの一覧はこちらで確認できます。
文字列や数値の出力を扱うヘルパー
モデルに保存している文字列や数値を適切な形で出力するためのヘルパーです。ActionView::Helpers::TextHelper
モジュール(メソッドの一覧) 、ActionView::Helpers::NumberHelper
モジュール(メソッドの一覧)が対象です。
フォームヘルパー
主にユーザーの入力を受け付けるためのフォームを生成するために利用するヘルパー、ActionView::Helpers::FormHelper
モジュールが対象です。
モデルと連携した入力フォームや、コントローラーで効率的に扱える形でパラメータを受け取るためにはフォームヘルパーの活用を避けて通ることはできません。
見た目以外の要素に密接に関係する、という点において他のビューヘルパーよりも重要度が高いと言えます。
フォームそのものを生成するためのヘルパーメソッドであるform_with
はもちろんですが、各入力要素を生成するヘルパーメソッドについても一通り抑える必要があります。
メソッドの一覧はこちらで確認できます。
まとめ
ベーシック試験の試験範囲「ビュー開発」について解説しました。
出題の割合が20%と大きめの範囲となっていますが、各ヘルパーメソッドについて一通り把握できていれば回答することができます。
反対に、ヘルパーメソッドを活用しない、HTMLタグを直接書く、というようなビュー開発をされている方にとっては難しい試験範囲とも言えます。
Railsらしい効率的なビュー開発のためにも、この機会に是非一度全てのビューヘルパーに目を通してみてください。
「こんな便利なヘルパーがあったのか!」という新たな発見もあるかも知れません。
具体的な学習については、Ruby on Rails チュートリアルをお薦めしています。
Ruby on Rails チュートリアル
https://railstutorial.jp/
また、今後公式問題集の発売も予定しておりますのでお待ちください。