我有一个简单的Sinatra应用程序,我试图将DataMapper与mysql适配器连接起来。代码的相关部分看起来像这样
DataMapper.setup(:default, ENV['DATABASE_URL'])
class Category
include DataMapper::Resource
property :id, Serial
property :name, String
end
DataMapper.finalize.auto_upgrade!
我已经仔细检查了一切。我使用的是Sinatra的模块化模式。我在模块的顶部有require 'data_mapper'
。 Mysql服务器启动并运行。但每当我rackup
时,我都会收到以下错误:
Warning: Command failed: /dev/app/.bundle/gems/data_objects-0.10.14/lib/data_objects/quoting.rb:12:in `quote_string': no implicit conversion from nil to integer (TypeError)
我已经搜索了高低的答案,但我唯一能找到的是一个人建议将红宝石从2.0升级到2.1。我不能这样做,因为这是部署到Openshift,其中最高的红宝石是2.0。关于为什么会发生这种情况的任何其他建议?
编辑:忘了添加DATABASE_URL
填充正常,我还安装了dm-mysql-adapter