内容
今回は,RailsでMongoDBを使ってAPIサーバを作成することになったので,その手順を自分用にまとめます。いつもRailsの導入時にrbenvとかbundlerとかで迷うので今後迷わないように。。。
まずはrubyのバージョン設定
今回はRubyのバージョンは2.4.2とします。プロジェクトのルートディレクトリに移動して,rbenvでローカルのRubyを変更。
% rbenv install 2.4.2
% rbenv local 2.4.2
これで,
% ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-darwin17]
となったと思います。(ココまで来るのにrbenv local x.x.x
が反映されない問題に苦しむ => [1])
bundlerのインストール
普通にgemで
% gem install bundler
そして,Gemfileを作成
% bundle init
Railsのインストール
Gemfileの編集。今回はrails 5.1.4を使用。
- # gem "rails"
+ gem "rails", "5.1.4"
bundlerでインストール。初回なのでパス指定を忘れず。
bundle install --path vendor/bundle
Railsのプロジェクト作成
ついにココまで来ました。ここでしくじる訳にはいきません。注意点は,今回は普通に rails new
してはいけないということ。なぜなら,今回はMongoDBを使って,かつAPI仕様にしないといけないからです。以下でnewします。
% bundle exec rails new . --api --skip-active-record --skip-bundle
Gemfileにmongoidを追加。6.3.0が一応stableっぽいので6.3.0を入れます。
+ gem 'mongoid', '~> 6.3.0'
これで晴れてRails + MongoidでAPI用にnewすることができました。
ついでに,configファイルも作ってしまうことにします。
% bin/rails g mongoid:config
まとめ
毎回,railsでプロジェクト作るときに彷徨うのでまとめました。今回でrbenvやbundler周りを理解できた気がする。(たぶんすぐ忘れる)
これを見て思い出そう。
参考
[1] rbenvでバージョンがうまく切り替わらなかった時にやったこと
[2] RailsでActiveRecordの代わりにMongoidを使う