コントローラを作成する時にアクションも同時に作成
以前のページではコントローラを作成する方法として下記の書式を使用しました。
ruby script\generate controller コントローラ名
この時、合わせてアクション名を指定することでアクションの作成も同時に行うことができます。
ruby script\generate controller コントローラ名 アクション名1 アクション名2
複数のアクションを作成する場合には半角スペースを区切りとして続けて指定します。
では例として「info」コントローラ、「about」アクション、「version」アクションを作成してみます。コマンドプロンプトを起動し、アプリケーションのルートディレクトリに移動してから次のように実行します。
ruby script\generate controller info about version
今回は全部で6つのファイルが作成されています。
app/controllers/info_controller.rb test/functional/info_controller_test.rb app/helpers/info_helper.rb test/unit/helpers/info_helper_test.rb app/views/info/about.html.erb app/views/info/version.html.erb
最初の4つのファイルはコントローラを単独で作成した場合と同じです。では「app\controllers」ディレクトリに作成された「info_controller.rb」ファイルの中身を確認してみます。
class InfoController < ApplicationController def about end def version end end
クラスの定義だけではなく引数に指定したアクションがコントローラのファイルの中に作成されていることが確認できます。
また「about」アクションに対応するビューは「about.html.erb」となり「version」アクションに対応するビューは「version.html.erb」となりますが、作成された6つのファイルの中の残りの2つのファイルがそれに該当します。
app/views/info/about.html.erb app/views/info/version.html.erb
このようにコントローラに加えてアクションを同時に作成した場合には、アクションに対応するビューのファイルも合わせて作成されます。後は必要に応じてビューの中身を変更して下さい。