Ruby on Rails 3.2 コマンドめも

Ruby on Rails のコマンドメモ。
rails コマンドと rake コマンドをまぜこぜで。

全体像

rails コマンドの構文は以下の通り。

rails COMMAND [ARGS]

COMMAND には、 generate や server などがある。
ヘルプは rails -h で参照できる。COMMAND毎のヘルプは rails COMMAND -h で参照できる。

なお、 COMMAND は、カレントディレクトリによって利用できるものが異なるようだ。
アプリケーションフォルダ内では様々な COMMAND が利用できるが、そうでない場合は、利用できるのは new のみ。(コマンドヘルプ自体が変わる)

生成系コマンド

rails new アプリケーション名

新規アプリケーションの作成。
ディレクトリ構造+標準的なRailsコードを生成してくれる。
まるでMaven

※以降のコマンドは全てアプリケーションルートフォルダで実行すること

rails generate ジェネレータ

ジェネレータを用いての作成。
Rails系のジェネレータには下記がある。

  • assets
  • controller
  • generator
  • helper
  • integration_test
  • mailer
  • migration
  • model
  • observer
  • performance_test
  • resource
  • scaffold
  • scaffold_controller
  • session_migration
  • task

例えば・・・

rails generate controller コントローラ名 アクション名*

コントローラの作成。
ただし、作り直し時はファイル上書きになってしまう(=編集内容がクリアされてしまう)ため注意が必要。

rails generate scaffold モデル名 [フィールド名[:タイプ][:インデックス]]*

モデルに対する足場(scaffold)の作成。
モデル、マイグレーションファイル(DB変更用ファイル)、ビュー、コントローラ、など、一連のファイルが生成される。
なお、モデル名には単数形の名詞を入れること。そうすると、テーブルはその複数形の名前になる。

rake db:migrate

未適用のマイグレーションを抽出し、データベースに適用する。
適用先は、config/database.ymlファイルのdevelopment:セクションで定義したデータベース。

確認系コマンド

rake about

アプリケーションの情報を表示。
各モジュールのバージョンや、アプリケーションルート、データベースアダプタなど。

rails server

WEBサーバの起動。
Rubyが認識しているサーバがあるならそのサーバ、ないならRuby同梱のWEBrickが起動する。
強制的にWEBrickで起動したい場合は webrick を末尾に付与して実行する。

参考文献

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版