controller」コマンドでコントローラーに関するコンポーネントを作成コントローラーとビューの実装に移りましよう。次のコマンドでコントローラーに関するコンポーネントを作成します。controller」コマンドは引数にコントローラー名(特定のモデルに関するものであれば複数形)を取り、以下のようなファイルを生成します。app/controllers/users_controller.rbapp/views/users(ディレクトリ)app/assets/stylesheets/users.css.scssapp/assets/javascripts/users.css.scssapp/helpers/users_helper.rbtest/controllers/users_controller_test.rbtest/controllers/users_helper_test.rbたくさんのファイルが生成されましたが、ここではコントローラーとビューにだけ注目して実装していきます。ユーザーを一覧する「index」アクションを作るユーザーを一覧する「index」アクションを作りましょう。controller」コマンドによって生成されたコントローラーのファイル(app/controllers/users_controller.rb)の中身は以下のようになっています。ApplicationControllerendこのコントローラーのクラスに次のメソッドを追加します。endこのメソッドはindexアクションにひも付いたURLにアクセスがあると実行され、全ユーザーのモデルオブジェクトをインスタンス変数「@users」に代入します。コントローラーはメソッドの実行後、同じ名前を持つビュー(app/views/users/index.html.erb)をレンダリングします。ビューの実装ここまででビューは作成されていないので、「app/views/users/index.html.erb」を作り、次のコードを実装しましょう。</tbody></table>ビュー中のインスタンス変数はコントローラーのメソッドで定義したものになります。このコードはRubyのイテレーターを利用しており、「」と「」はコンテナーオブジェクトである@usersの要素ごとに、間にあるコードを実行します。以上でアクションは用意されましたが、まだルーティングが設定されていません。ルーティングは「config/routes.rb」の「BookLibrary::Application.routes.draw」に渡すブロックの中で定義されます。Bookモデルに関するscaffoldのルーティングがresourcesメソッドで定義されているかと思います。routes」コマンドで確認できます。resourcesメソッドは第1引数に渡したシンボルのRESTfulなURLをまとめて生成します。デフォルトでは「index」「show」「new」「create」「edit」「update」「destroy」の7個のアクションと対応するルーティングを作ります。現時点でUsersControllerのメソッドはまだ「index」アクションしか用意していないので、「only」オプションに使用するアクション名を要素に持つ配列を渡します。routes」を実行すると次の行が追加されています。users#indexresourcesのオプションには「only」と反対に前述の7個のアクションから取り除くものを指定する「except」などがあります。実行確認それではブラウザー上でindexアクションを確認しましょう。routes」最後の行の3項目を足した「http://localhost:3000/users」にアクセスします。エラーなどに遭遇したら、慌てずエラー画面やサーバーのログを調べてみてください。エラーの原因は、ほとんどの場合その中で示されています。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。