2012年09月22日 padrinoとmongoid 3.0系は相性が悪い? → mongoid 2.5系を使う
_ [Web][Ruby] padrinoとmongoid 3.0系は相性が悪い? → mongoid 2.5系を使う
- 2012/09/24追記: 3.0系を使う方法も書きました -> padrinoとmongoid 3.0系は相性が悪い? → padrino edge(git版) なら大丈夫
padrino入れて,mongoid使うように設定したところエラーが.
$ padrino s ~/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.0.22/lib/bundler/runtime.rb:68: in `require': cannot load such file -- mongo (LoadError)
足りないなら足せばいい,ということでGemfileに gem 'mongo' を追記.bundle installしても,またもやエラー.
$ padrino s ~/test_app/config/database.rb:12: in `<top (required)>': undefined method `database=' for Mongoid:Module (NoMethodError)
調べてると Error running "padrino g admin" ・ Issue #881 ・ padrino/padrino-framework ・ GitHub が見つかりましたが、どうもデータベースの指定を読み込んでくれず(英語を読み違えてるのかもしれませんが)… 結局 Mongoid 2.5系を使う ことにしました.
対処方法: Mongoid 2.5系を使う
まずは Gemfile を編集し,Mongoid 2.5.xが読まれるようにします.
gem 'mongoid', "~> 2.5.0" # gem 'mongo' # 読まれるのでわざわざ記述する必要なし.
bundle installします.
$ bundle install (省略) Your bundle is complete!
起動します.
$ padrino s => Padrino/0.10.7 has taken the stage development at http://0.0.0.0:3000 [2012-09-22 23:37:56] INFO WEBrick 1.3.1 [2012-09-22 23:37:56] INFO ruby 1.9.3 (2012-04-20) [i686-linux] [2012-09-22 23:37:56] INFO WEBrick::HTTPServer#start: pid=11079 port=3000
めでたしめでたし.
githubのTagsでリリース日時を確認してみると,
ということで,PadrinoがMongoid 3.0系に対応していないのかもしれません.