コントローラを作成する時にアクションも同時に作成

広告
facebookボタン
googleplusボタン
twitterボタン
ダミーボタン
bloggerボタン

以前のページではコントローラを作成する方法として下記の書式を使用しました。

ruby script¥generate controller コントローラ名

この時、合わせてアクション名を指定することでアクションの作成も同時に行うことができます。

ruby script¥generate controller コントローラ名 アクション名1 アクション名2

複数のアクションを作成する場合には半角スペースを区切りとして続けて指定します。

では例として「info」コントローラ、「about」アクション、「version」アクションを作成してみます。コマンドプロンプトを起動し、アプリケーションのルートディレクトリに移動してから次のように実行します。

ruby script¥generate controller info about version

p7-1

今回は全部で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

このようにコントローラに加えてアクションを同時に作成した場合には、アクションに対応するビューのファイルも合わせて作成されます。後は必要に応じてビューの中身を変更して下さい。

( Written by T.buzz.Ikura+ )

Social Button
Facebook Page