3

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

设计库中没有设计/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 数据存储做好准备?

4

1 回答 1

1

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

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

于 2013-01-06T15:22:21.007 回答