2012年09月24日 padrinoとmongoid 3.0系は相性が悪い? → padrino edge(git版) なら大丈夫
_ [Web][Ruby] padrinoとmongoid 3.0系は相性が悪い? → padrino edge(git版) なら大丈夫
先日 padrinoとmongoid 3.0系は相性が悪い? → mongoid 2.5系を使う を書きましたが,githubのpadrino (padrino edge)だと大丈夫だったので,その方法をば.
ちゅうい
- githubのpadrino は,きちんと動く状態になっているとは限りません.
- よーく見ると「build status: failing」になってたりします.
方法
- まずはGemfileを編集して, Padrino Edge (gitのもの) を使うようにします.ついでに,bson_extをコメントアウトしておきます。
# gem 'bson_ext', :require => "mongo" (省略) # Padrino Stable Gem # gem 'padrino', '0.10.7' # Or Padrino Edge gem 'padrino', :git => 'git://github.com/padrino/padrino-framework.git'
- bundle installします.
$ bundle install
- config/database.yml ファイルを作って,良い感じに書きます.書き方は Mongoid: Installation #Configuration あたりを参考に.
development: sessions: default: database: myapp_development hosts: - localhost:27017
- config/database.rb を書き換え,以下の3行だけにしてしまいます.
Padrino.before_load do Mongoid.load!(File.join(Padrino.root,"config/database.yml")) end
- 動作確認してみましょう.
$ padrino c => Loading development console (Padrino v.0.10.7) => Loading Application MyApp => Loading Application Admin 1.9.3-p194 :001 > Account.first => #<Account _id: 505d79e18e406f2bc4000001, _type: nil, name: "Foo", surname: "Bar", email: "test@example.com", crypted_password: "$2a$10$MuNCMgHB.jnz5d4g9clSQurCyRamdppvHglTRFB9ZvGyDBbXER5IC", role: "admin">
めでたしめでたし.