Ruby on Railsコマンドメモ

はじめに_

Ruby on Rails 3.2系が対象。

RubyGemsとRuby on Railsのアップデート_

Debian(not RVM)_

RubyGemsのアップデート

% sudo gem update --system

Railsのアップデート

# sudo gem update rails

RVM_

% rvmsudo gem update --system
% rvmsudo gem update rails

railsコマンド_

プロジェクト開始_

% rails new プロジェクト名 (bundleが自動で実行する)
% rails new プロジェクト名 --skip-bundle (bundleを後で実行)
% rails new プロジェクト名 -T (Unit::Testを使わない。RSpecを使う場合)

scaffold(モデル+データの追加/閲覧/編集/削除)_

% rails generate scaffold モデル名の単数形 フィールド名の型と並び
% rails generate scaffold Person name:string age:integer memo:text

scaffoldの取り消し_

% rails destroy scaffold モデル名の単数形
% rails generate scaffold Person

モデルの生成_

% rails generate model モデル名の単数形 フィールド名の型と並び
% rails generate model Person name:string age:integer memo:text

カラムの追加_

% rails generate migration AddカラムToモデル名の複数形 フィールド名と並び
% rails generate migration AddNameToPeople name:string age:integer memo:text

カラムの削除_

% rails generate migration RenameカラムFromモデル名の複数形 フィールド名と並び
% rails generate migration RenameNameFromPeople name:string age:integer memo:text

コントローラー&ビューの生成_

コントローラーだけ

% rails generate controller コントローラー名 

コントローラー&ビュー

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

例:users_controller.rbとindex, edit, postのビューのページが生成される。

% rails generate controller Users index edit post

migration_

最新状態へ

% rake db:migrate

リセット(データベースの中身が空っぽになるので注意)

% rake db:migrate:reset

seedデータの読み込み

% rake db:seed

リセット+シードデータの読み込み

% rake db:reset

Devise Cucumber, RSpec, Capybara_

Devise Cucumber, RSpec, Capybara を導入_

% rails new rails3-devise-rspec-cucumber -T
% cd rails3-devise-rspec-cucumber
% vi Gemfile

Gemfileに以下のモジュールを加える。

source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'sqlite3'
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
gem 'execjs'
gem 'therubyracer'

group :development, :test do
  gem "rspec-rails", ">= 2.10.1"
  gem "factory_girl_rails", ">= 3.3.0"  
end 

group :test do
 gem "email_spec", ">= 1.2.1"
 gem "cucumber-rails", ">= 1.3.0", :require => false
 gem "capybara", ">= 1.1.2"
 gem "database_cleaner", ">= 0.7.2"
 gem "launchy", ">= 2.1.0" 
end 

gem "devise", ">= 2.1.0"

RSpec、Cucumberのプロジェクトへのインストール

% rails generate rspec:install
% rails g cucumber:install --capybara --rspec

Deviseの導入

% rails g devise:install

データベース作成

% rake db:migrate
% rake db:test:prepare

単体テスト_

% rake spec

結合テスト_

% rake cucumber (全部のフィーチャーをチェック)
% rake cucumber フィーチャーファイル名(ある特定のフィーチャーをチェック)

関連リンク_