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 フィーチャーファイル名(ある特定のフィーチャーをチェック)