设置一个新的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