logo

Railsのビューを知ろう

ヒューマンリソシア株式会社はコラム「Railsのビューを知ろう」を公開しました。

###

# はじめに
みなさんこんにちは。塩尻オープンソースラボの小澤です。

前回まで、MVCアーキテクチャのMとCを見てきました。いよいよ今回は、MVCアーキテクチャのV、すなわちビュー(View)を取り上げます。ビューの役割を紹介しながら、ActionViewについて見ていきましょう。

# ビュー
ビューは、モデルクラスにアクセスし、HTMLを生成しながら動的なデータを表示する部分を担当します。つまり、見た目(UI)を制御している部分で、RailsではActionViewが担っています。

Railsアプリケーションにおいては、app/viewsディレクトリ以下に、1つのコントローラに対して1つのディレクトリが作成され、そのディレクトリ内にビューテンプレートファイルが配置されます。これらのビューテンプレートファイルは、コントローラ内にあるそれぞれのアクションに対応し、結果を出力するために使用されます。モデルやコントローラと同様に、ビューファイルにも命名規則があり、例えば、posts_controller.rbコントローラのindexアクションは、app/views/postsディレクトリのindex.html.erbを使用します。

scaffoldした時には、以下のようにビューファイルが生成されます。

“`
$ rails generate scaffold post

 […]

 invoke scaffold_controller

 create app/controllers/posts_controller.rb

 invoke erb

 create app/views/posts

 create app/views/posts/index.html.erb

 create app/views/posts/edit.html.erb

 create app/views/posts/show.html.erb

 create app/views/posts/new.html.erb

 create app/views/posts/_form.html.erb

“`

ビューはテンプレート、パーシャル、レイアウトの3つの要素から成り立ちます。

## テンプレート
一般的にはERBテンプレートを使用することが多いでしょう。ERBテンプレートの内部では、<% %>タグや<%= %>タグの中にRubyコードを記述できます。それぞれ、タグの中に書かれたRubyコードを実行しますが、<% %>タグでは実行結果を出力せず、<%= %>タグでは実行結果を出力するといった違いがあります。よって、printやputsのような出力関数はERBでは使えないので注意しましょう。

この続きは以下をご覧ください
リンク

ERBでコメントを使う方法には以下があります。

関連情報
http://resocia.jp/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

今日の主要記事