设置一个新的Rails应用程序,我想使用Couchbase 2.0来存储所有数据,并使用Devise进行用户身份验证,但是ORM(对象关系映射)出现错误,这意味着Devise不知道如何与Couchbase交谈。 Couchbase是类似于Cassandra的NoSQL数据存储,因此我想知道是否有人配置了Devise以与Couchbase,Cassandra或其他NoSQL一起使用,并且可以提供帮助吗?

这是使用以下命令创建的简单Rails应用程序:

rails new myapp -T -O

编辑Gemfile,添加

gem "couchbase"
gem "couchbase-model"
gem "devise"


设置Couchbase配置

rails generate couchbase:config并使用数据库连接信息编辑config / couchbase.yml。

rails generate devise:install创建了config / initializers / devise.rb

查看config / initializers / devise.rb,我看到它会自动放入require 'devise/orm/couchbase'

rails generate devise User

失败:

/usr/local/rvm/gems/ruby-1.9.3-p362/gems/activesupport-3.2.10/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- devise/orm/couchbase (LoadError)


Devise库中没有devise / orm / couchbase。

如果我将config / initializers / devise.rb中的couchbase orm行更改为

require 'devise/orm/active_record.rb'

尝试执行rails generate devise User时出现另一个错误:

error couchbase [not found]

是否有任何想法如何进行,还是Devise尚未准备好用于Couchbase和/或NoSQL数据存储?

最佳答案

没错,目前还没有人为Couchbase和Devise gem编写ORM适配器。我相信他们只有几个ORM,其中ActiveRecord / SQL是主要的。您可以使用Sorcery宝石,该宝石可以进行集成/黑客攻击,并可以与Couchbase一起使用。我本人还没有做过,但是前几天我正在研究它。

如果我有机会为巫术做一个指南,我将更新此答案,以便您得到通知,或者在Twitter上关注我:http://twitter.com/scalabl3

09-16 02:53
查看更多