Herokuの超優良アドオンのひとつであるMongoLabは、HerokuでMongoDBを0.5GBまで無料で使えるアドオンです。公式のPostgreSQLの無料枠が1万レコードまで
なのでかなり太っ腹なサービスです。
今回は久々にMongoLabを触ったので、ついでにRails 4 x Ruby 2.1での動作確認がてら記事をリニュアールしました!
🐞 Railsプロジェクト作成
プロジェクトを作成する。今回はmongoidを利用するので、Active Recordをスキップ。(-Oオプションを付ける)
rails new test-app -O --skip-test-unit --skip-bundle |
Gitリポジトリ作成を作成します。
Git init |
Gemfile
に以下の内容を追加して、bundle install
を実行。
(mongoidのバージョンはalpha版なので是非確認をReleases · mongoid/mongoid)
ruby '2.1.0' |
🐠 mongoDBに接続するための設定を作成
mongoDBの設定ファイルを生成。
rails generate mongoid:config |
生成された設定ファイルconfig/mongoid.yml
にmongolabのURLを取得するように設定を修正。
production: |
🚌 scaffoldを実行
rails g scaffold article title:string |
config/routes.rb
ファイルを修正。
root :to => 'articles#index' |
🎃 HerokuにPush
まずは変更分をコミット。
git add -A |
続いてHeroku上にアプリケーションを生成。
heroku create test-app --stack cedar |
MongoLabのAddonを追加。
heroku addons:add mongolab |
Herokuへのデプロイ。
Git push herokuマスタ |
結果をブラウザで確認。
ちなみにheroku addonsとしてのmongolabの便利機能。
# mongolabのドキュメントをブラウザで表示 |
ちなみに、Heroku addons:open mongolab
を実行するとローカルのターミナルからmongolabに接続するためのコマンドが分かるので、ローカルからの開発もかなり捗ります!
😀 今回のソース
今回作成したサンプルソースです。もしつまっちゃうようならぜひお試しください!
🚜 補足
次のようなエラーが発生する場合は、
ActionView::Template::Error (undefined method `[]' for nil:NilClass)
GemfileにRubyのバージョンを指定すると解決しました〜
How can I choose Ruby version on Heroku?
🐡 変更来歴
(12/28 20:20) Rails 4.0 x Ruby 2.1対応