Rails

Railsコマンドのおさらい(その1)

More than 3 years have passed since last update.

何度となく使っているにも関わらず忘れてしまう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

http://railsdoc.com/rails#アプリケーションに必要なコントローラ、モデル、ビューをまとめて生成(rails%20generate%20scaffold)


rails generate model

modelを生成

$ rails generate model ModelName column_name:type

http://railsdoc.com/rails#モデルの生成(rails%20generate%20model)


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