「indexアクションでデータを表示させる方法が分からない」、「indexアクションでデータを表示させる方法をもっと詳しく知りたい」等、お悩みを持っている方はいないでしょうか?
このページでindexアクションでデータを表示させる方法を分かりやすく解説していきます。
是非、最後まで読んでいただければと思います。
目次
1.データを作成する
ここからは「WebApp」というWebアプリケーションの作成、Modelの作成を終えているという前提でお話を進めていきます。
もし、Webアプリケーションの作成方法、Modelの作成方法を詳しく知りたい方は以下の記事をご覧下さい。
![[入門者向け] Ruby on Railsのアプリケーション作成方法を分かりやすく解説!](https://www.web-knowledge-info.com/wp/wp-content/themes/sango-theme/library/images/default_small.jpg)

「[Rails入門] Modelの作成方法を分かりやすく解説!」でModelの作成を終えましたが、まだテーブルにデータが保存されていません。
そのため、仮のデータをテーブルに用意しましょう。
dbフォルダの「seed.rb」にコードを記述することで仮のデータを用意することができます。
それでは「seed.rb」にコードを記述していきましょう。
上記のようにコードを記述したら、コマンドプロンプトで「rails db:seed」と入力して実行しましょう。
コマンドプロンプトを実行する時はWebAppのディレクトリで行うようにしましょう。WebAppへの移動は「cd WebApp」で行うことができます。
上記のように再度コマンドプロンプトを使用できるようになったら、データベースに仮のデータが追加されたということになります。
2.controllerを作成する
これでModelの作成、データの作成を終えたので、Postモデルを利用するためのcontrollerを作成しましょう。
コマンドプロンプトで「rails g controller posts」と入力して実行しましょう。
controllerを作成する場合、複数形で作成するのが決まりになっているので注意が必要です。今回の場合、controller名は「posts」となります。
実行が完了すると、postsコントローラーが作成されました。
次にpostsコントローラーを開いてindexアクションメソッド内にPostのデータを取り出すコードを記述していきましょう。
ここではindexアクション内に「@posts = Post.all」とコードを記述しました。
これはPostモデルのデータをすべて取り出すという意味になっています。
ここでは「@posts = Post.all」と記述してデータを取り出しましたが、以下の書式に当てはめると特定のmodelのデータをすべて取り出すことができます。
変数 = Model名.all
上記のように記述することで配列のような形でデータを取得することができます。
あとは、Viewで@postsから順にデータを取り出し、データを展開していくという流れになります。
3.viewに表示する
それでは@postsのデータをviewに展開していきましょう。
viewsフォルダ内のpostsフォルダに「index.html.erb」というファイルを作成し、以下のようにコードを記述していきましょう。
変数postにはどのようなデータが格納されているのでしょうか。
格納されているデータはPostクラスのインスタンスとなっており、「変数post.カラム名」でカラムのデータを取り出せる仕組みになっています。
4.Ruby on Railsを学ぶことができるオススメの教材
Ruby on Railsを学習している皆様にオススメの教材をご紹介させていただきます。
現場で使える Ruby on Rails 5速習実践ガイド
以下の本はRuby on Railsの学習を一通り終えてある程度知識を身につけた方にオススメしたい本です。
「現場で使える Ruby on Rails 5速習実践ガイド」は現場で実際にどのように使われているのかという視点も交えて解説されています。
そのため、初心者の方が次のステップに進むために最適な本となっていますので、オススメです。
これらの本で是非学習を進めてみてはいかがでしょうか?
レベル別におすすめの本も紹介していますので、どのような本がオススメか知りたい方はこちらもご覧になって下さい。

Udemy
UdemyではRuby on Railsを学ぶことができる講座を多数取り扱っています。
以下の記事でRuby on Railsを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

プログラミングスクール
TechAcademy、WebCamp、CodeCamp、Tech CampなどでRuby on Railsを学ぶことができます。
それぞれ無料体験も行っているので、どのようなものか試してみるのもいいでしょう。
以下の記事で各プログラミングスクールをまとめているのでこちらもよかったらご覧になってください。









5.ポイント
・「seed.rb」にコードを記述することで仮のデータをテーブルに保存することができます
・controllerのindexアクション内でallメソッドを使用することでmodelのデータを全部取り出すことができます
・allメソッドは以下のように使用します。
変数 = Model名.all