ruby on rails の基本コマンド
ruby on rails の基本コマンド
アプリケーション作成・起動
アプリケーション作成
rails new アプリケーション名
バージョン指定で作成する場合は以下のようにする(下記は3.2.0の例)
rails _3.2.0_ new アプリケーション名
HTTPサーバの起動
(アプリケーションフォルダ内で) rails server
なお、rails server を省略し、rails s でも問題ないです。
アクセス先は http://localhost:3000/ です。
コントローラの作成
rails generate controller コントローラ名 [オプション]
コントローラとアクションの同時作成(例えばhelloクラスにindex、show、newアクションを追加する場合)
rails generate controller hello index show new
コントローラの削除
rails destroy controller コントローラ名
データベース
各環境のデータベースは以下のファイルに設定の記述する。
config/database.yml
モデルの作成
rails generate model name field:type […] [option]
で記載できる。以下は例。
rails generate model book isbn:string title:string price:integer publish:string published:date cd:boolean
マイグレーションファイルによるテーブルの作成
rake db:migrate
フィクスチャによるテストデータの準備(books.ymlのデータを利用)
rake db:fixtures:load FIXTURES=books
データベースクライアントの起動
rails dbconsole
これ以降は、SQLコマンドを叩けば実行できる
例えば、booksというテーブルのスキーマと中身を確認、終了する方法はそれぞれ以下。
.schema books SELECT * FROM books; .quit
Scatffolding機能
Scatffolding機能を利用するにはまず不要なモデルやデータベースを削除する必要がある。
また、マイグレーションファイルの実行は自分でやる必要がある。
bookモデルの削除
rails destroy model book
データベースの削除
rake db:drop
Scaffolding機能によるアプリケーション開発
rails generate scaffold name field:type […] [options]
でScatffolding機能を利用する。
rails generate scaffold book isbn:string title:string price:integer publish:string published:date cd:boolean
このあとに
rake db:migrate
を実行。Scatffoldingによりconfig/route.rbが自動生成されるが、その中の最初の1行
resources :books
だけで、rake routesで各ルートを表示できたりする。
シードファイルとフィクスチャ
シード → 英語で種という意味
フィクスチャ → ソフトウェア用語でテスト時のアプリケーションの初期化のこと
上記の語源より、シードファイルはマスタテーブルなどの初期データを投入するために利用し、フィクスチャはテストデータの豆乳に利用することが想像できる。
シードファイルの実行
rake db:seed
データベースの作成からスキーマの構築、初期データの投入までをまとめて実行
rake db:setup
フィクスチャはtest/fixturesフォルダに「テーブル名.yml」で保存される。
フィクスチャファイルの実行
rake db:fixtures:load FIXTURES=users,reviews