何度となく使っているにも関わらず忘れてしまうrails
コマンドのおさらい
今回はよく使うMVC形のコマンドを中心に紹介
rails new
Railsプロジェクトの生成をするコマンド
# プロジェクトを生成
$ rails new AppName
Options
Command Name | Description |
---|---|
--skip-test-unit |
Test::Unitを生成しない(RSpecを使用する場合など) |
--skip-gemfile |
Gemfile を生成しない |
--skip-bundle |
bundle install を行わない |
--skip-active-record |
ActiveRecordを生成しない(MongoDBを使用する場合等) |
--bundlerPATH , -b
|
bundlerのPATHを指定 |
-database=DATABASE |
データベースの種類を指定(デフォルトはsqlite3 ) |
# aaa
$ rails new AppName --skip-bundle --skip-test-unit --database=sqlite3
rails server
Railsアプリのサーバを起動
# 基本形
rails server subcommand
# 省略形
rails s subcommand
Options
Subcommand Name | Description |
---|---|
--environment=ENV , -e
|
環境を指定してサーバを起動 |
--port=PORT , -p
|
サーバを起動するポートを指定 |
--debugger , -u
|
デバッグモードで起動 |
rails console
# コンソールを起動
$ rails console
Options
Subcommand Name | Description |
---|---|
-sandbox , -s
|
sandboxモードで起動; 終了時にDBをロールバック |
-debugger |
Debugモードで起動 |
rails dbconsole
DBクライアントを起動
$ rails dbconsole (environment:development, test, production)
rails generate
Rails関連のファイルを生成
# 基本系は以下
$ rails generate subcommand
# 以下のように省略もできる
$ rails g subcommand
rails generate scaffold
rails generate scaffold MODEL_NAME column_name:type
rails generate model
modelを生成
$ rails generate model ModelName column_name:type
rails generate controller
controllerを生成
$ rails generate controller ControllerName action_name
rails generate scaffold_controller
先にmodelを作っていた場合に使用する
$ rails generate scaffold_controller ModelName
rails generate migration
テーブル定義を変更(追加/削除)するためのマイグレーションファイルを生成
# Pageモデルにtitleカラムを追加
$ rails generate migration AddTitleToPages title:string
# Pageモデルからtitleカラムを削除
$ rails generate migration RemoveTitleFromPages title:string
rails destroy
生成済みのRails関連ファイルを削除
rails destroy scaffold
Scaffoldで生成したファイルの削除
$ rails destroy scaffold MODEL_NAME
rails destroy model
生成したモデルを削除
$ rails destroy model MODEL_NAME
rails destroy migration
生成したマイグレーションファイルの削除
$ rails destroy migration MigrationName