最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
最近ってほどでもないですが、個人的に rails3 を使って何かウェブアプリを作ってみたくなる衝動に駆られます。アイディアはあるけどもやる気がでないというかそんな今日このごろ(笑)。さてと、とりあえずは rails3 を使えるようにプロジェクトを作りましょう。
1 2 3 4 5 |
$ mkdir ./RAILS_APP $ cd ./RAILS_APP $ emacs ./Gemfile source 'http://rubygems.org' gem 'rails', '3.2.13' |
としてプロジェクトのディレクトリと Gemfile を作成します。
で闇雲に bundle で rails 本体をインストールします。
1 |
$ bundle install --path vendor/bundle |
–path オプションはライブラリをインストールする先です。
上記のようにするとプロジェクトディレクトリ内に作成できるので他の ruby アプリとライブラリが衝突しなくてすみます。
rails が入ったらアプリケーションの作成です。
1 |
$ bundle exec rails new . --database=mysql --skip-bundle --skip-test-unit |
これはアプリケーションのデータベースに MySQL をつかい、作成時に bundle install をおこなわず、Test::Unit もインストールしません。
途中で Gemfile を上書きするかと聞かれますが、もちろん y です。
ちなみに、Test::Unit を入れなかったのはあとで RSpec をいれるからです。
1 2 3 4 5 6 |
$ emacs ./Gemfile # Test Tools group :development do gem 'rspec-rails' gem 'simplecov', :require => false end |
あと therubyracer のところがコメントアウトされているので、 # を外してコメントインします。
もう一回 bundle install でライブラリの追加です。
2回目からは –path オプションは不要ですがなんとなく付けてしまいます。
1 |
$ bundle install --path vendor/bundle |
ここまでくれば、開発サーバーを起動してみたくなりますが、このままだと起動に失敗します。
config/database.yml を編集して development のデータベース設定を正しいものに設定してください。
それと、パスワードが書かれている database.yml はリポジトリにコミットするのを避けたいので、編集前に .example をつけたコピーをとっておきます。
1 2 |
$ cp ./config/database.yml ./config/database.yml.example $ emacs ./config/database.yml |
.gitignore に次の2行を追加してリポジトリ管理下に置かないようにしておきます。
1 2 |
$ echo '/config/database.yml' >> .gitignore echo '/vendor/bundle' >> .gitignore |
ここまでくれば、管理サーバーを起動しても大丈夫でしょう。
1 |
$ bundle exec rails s |
あとはブラウザから http://localhost:3000 をひらいて確認しましょう。
開発サーバーは Ctrl+C で一旦終了します。
Rspec の初期設定をしましょう。
1 |
$ bundle exec rails g rspec:install |
と、たったこれだけですが .rspec ファイルとかが作成されます。
RSpec でのテストの仕方は次のコマンドです。
1 |
$ bundle exec rspec |
まだなにも書いていないので次のようになると思います。
1 2 3 |
No examples found. Finished in 0.0001 seconds 0 examples, 0 failures |
とここまできたらあとはゴリゴリとコーディングをしていけばいいわけです。
ですが、ちょっと待って下さい。
せっかくだからこの段階で git にコミットしておきましょう。
1 2 3 |
$ git init $ git add -- .gitignore $ git add . |
先に .gitignore だけ add しておくのがポイントかな?
そうすると先に .gitignore に追記した vendor/bundler 以下とかのライブラリ群は add されません。
というのが私が rails3 のプロジェクトを作成するときの第一歩です。
というかここまでやったのに、次のコーディングに進まずに放置とかよくありますが(笑)