5

我正在开发一个 Sinatra 应用程序,我想在其中使用 data_mapper 和 sqlite3。在 app.rb 我有:

require 'sinatra'
require 'data_mapper'

在控制台中,当我执行 $ gem list 我得到(列表经过编辑以反映 db gems:
* LOCAL GEMS *

activemodel (4.0.2)
activerecord (4.0.2)
activerecord-deprecated_finders (1.0.3)
activesupport (4.0.2)
addressable (2.3.5)
arel (4.0.2)
atomic (1.1.14)
bcrypt-ruby (3.1.2)
bigdecimal (1.2.3)
buftok (0.2.0)
builder (3.1.4)
bundler (1.5.3)
bundler-unload (1.0.2)
cookiejar (0.3.0)
daemons (1.1.9)
data_mapper (1.2.0)
data_objects (0.10.13)
descendants_tracker (0.0.3)
dm-aggregates (1.2.0)
dm-constraints (1.2.0)
dm-core (1.2.1)
dm-do-adapter (1.2.0)
dm-migrations (1.2.0)
dm-serializer (1.2.2)
dm-sqlite-adapter (1.2.0)
dm-timestamps (1.2.0)
dm-transactions (1.2.0)
dm-types (1.2.2)
dm-validations (1.2.0)
do_sqlite3 (0.10.13)
fastercsv (1.5.5)
gem-wrappers (1.2.4)
http (0.5.0)
http_parser.rb (0.6.0)
i18n (0.6.9)
io-console (0.4.2)
json (1.8.1)
json_pure (1.8.1)
memoizable (0.4.0)
mini_portile (0.5.2)
minitest (4.7.5)
multi_json (1.8.4)
multipart-post (2.0.0)
oauth (0.4.7)
pg (0.17.1)
rack (1.5.2)
rack-protection (1.5.2)
rake (10.1.0)
rdoc (4.1.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.8)
shotgun (0.9)
simple_oauth (0.2.0)
sinatra (1.4.4)
sinatra-activerecord (1.3.0)
sqlite3 (1.3.8)

当我去 irb 并需要 data_mapper 时,我得到 =>"true" 但是,当我通过浏览器进入应用程序时,我得到:LoadError:无法加载此类文件 -- data_mapper。从我读过的内容来看,这个问题通常是 require 'datamapper' 而不是 require 'data_mapper' 的结果。我究竟做错了什么?

4

1 回答 1

0

尝试要求dm-sqlite-adapterDocs ter

您拥有 gem,但在代码中不需要它。我不知道这是否会解决它,但在最近的一个项目中,适配器是我们需要在控制器中明确要求的。

于 2016-09-09T18:17:05.830 回答