LoginSignup
2
2

More than 3 years have passed since last update.

Rails技術者認定資格試験対策 ActionView

Posted at

始めに

Rails 技術者認定資格を受験するにあたって今回は試験内容であるActionViewの項目をRailsチュートリアルを中心に自分なりにまとめていきたいと思います。ActionViewという言葉は聞いたことがありますが、実際にどの部分がActionViewであるのかも含めて今回は調べていきます。

ActionViewとは

RailsにおけるWebリクエストはActionControllerとActionViewで扱われます。ActionViewはActionControllerがデータベース処理やCRUD(Create/Read/Update/Delete)アクションを実行したレスポンスをwebページに反映する役割になります。ActionViewはテンプレートとしてデフォルトではERBを使用してビューコードを書くことが出来ます。またgemを組み合わせればERBだけでなく、Slimテンプレートを使用することが出来たりします。

あと自分が実際にActionViewという言葉をよく見かけていたのが、ビューファイルでの入力フォームをスッキリ書けるようにサポートしてくれるtext_field、datetime_selectメソッドなどのフォームヘルパーです。また文字列や日付にもヘルパーが提供されていて、ビューを現在のロケールによって、言語や日時などのローカライズを簡単に行うことが出来ます。またこれらのヘルパーは自分のアプリケーションに応じて機能拡大して独自のヘルパーを作成出来ます。

テンプレート、パーシャル、テンプレート

ActionViewが提供してくれるビューファイルの要素として、テンプレート、パーシャル、レイアウトがあり、ビューファイルはこれら3つの要素から成り立ちます。

テンプレート....ERBやSlimなどのテンプレートエンジンを利用してビューファイルの中にRubyコードでロジックを埋め込むことが出来ます。テンプレートの種類は拡張子で判断され、.erbや.slimの拡張子でRailsでどのテンプレートを使用しているかを表しています。

パーシャル....ビューファイルが肥大化するのを防ぐためにビューを部分的に分割して、複数のビューファイルで使い回すことも出来ます。よくある例としてはヘッダーやフッター、フォームなどをパーシャルとして分割したりします。またパーシャルファイル名はform.html.erbのように一文字目をにすることでパーシャルとして認識され、他のビューファイル内で以下のように記述して呼び出すことが出来ます。

<%= render "form" %>

レイアウト....複数のページで共有のデフォルトデザインを表現するための仕組みで、同じようなデザインの大枠を使い回すことが出来ます。デフォルトではapplicationビューファイルがテンプレートになりますが、applicationをテンプレートとして使いたくない場合は、変更したいページのコントローラー内の上部で、以下のように指定します。

layout 'admin_page'

最後に

以上が大まかにはなりますが、ActionViewの全体的な役割になります。実際にはActionViewのフォームヘルパーを使う機会が多いはずですので、業務でよく使用している主要なフォームヘルパーの紹介などを、また別の記事で紹介したいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2