2012-03-15 5 views
0

私は現在、Deviseと共に走っているMongoデータベースを取得しようとしています。私はRails 3.2.2とRuby 1.9.3、mongo_mapper 0.11.0、devise 1.1.9、devise-mongo_mapper 0.0.2を使っています。私は数多くの情報源をオンラインで紹介してきましたが、いつも古いようです。Rails、Devise、Mongo - どのバージョンを使用しますか?

私が直面している大きな問題は、devise-mongo_mapperです。 mongodは、端末上で実行されているレール・サーバを実行しようとすると、次の私に与える:

私はオンラインチェックして、私の工夫が更新されないため、これは可能性が見つかった
/usr/local/lib/ruby/gems/1.9.1/gems/devise-1.1.9/lib/devise.rb:193:in `mailer=': undefined method `ref' for ActiveSupport::Dependencies:Module (NoMethodError) 
from /usr/local/lib/ruby/gems/1.9.1/gems/devise-1.1.9/lib/devise.rb:195:in `<module:Devise>' 
from /usr/local/lib/ruby/gems/1.9.1/gems/devise-1.1.9/lib/devise.rb:4:in `<top (required)>' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require' 
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler.rb:122:in `require' 
from /home/neilbasu/Desktop/rails_practice_app/onemoremongopractice/config/application.rb:13:in `<top (required)>' 
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `require' 
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `block in <top (required)>' 
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `tap' 
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

。それは私にこれを与えた更新しよう:

Bundler could not find compatible versions for gem "devise": 
    In Gemfile: 
    devise-mongo_mapper (>= 0) ruby depends on 
     devise (~> 1.1.0) ruby 

    devise (2.0.4) 

だから基本的には、古い工夫が動作しませんし、最新バージョンは、私の現在の工夫-mongo_mapperと互換性がありません。これを回避する方法はありますか?これらのプログラムのすべてを一緒に動かす方法か、devise-mongo_mapperをまったく必要としない方法のいずれかが素晴らしいでしょう。

+2

[Mongoid](http://mongoid.org)を使用してみませんか?これはDeviseによって直接サポートされています。他の宝石の必要はありません。 –

答えて

1

several of the forksをご覧ください。

彼らはgemspecでバージョンをバンプしただけで、コードはおそらく変更されません。

+0

ありがとう!フォークの1つで変更を加えて、私のサーバーが稼動しています。 – limasxgoesto0

0

-v argumentを使用して、任意のバージョンの宝石をインストールできます。

sudo gem install whatever -v 1.0.1

またはプラスチックチキンが示唆したように、あなたはフォークで見ることができます。

0

同じエラーが発生し、 "バンドルアップデート"が実行されていたため、私の問題は解決しました。

関連する問題