Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby `quote_字符串:在sinatra上使用datamapper时,没有从nil到integer`的隐式转换_Ruby_Sinatra_Datamapper - Fatal编程技术网

Ruby `quote_字符串:在sinatra上使用datamapper时,没有从nil到integer`的隐式转换

Ruby `quote_字符串:在sinatra上使用datamapper时,没有从nil到integer`的隐式转换,ruby,sinatra,datamapper,Ruby,Sinatra,Datamapper,我有一个简单的Sinatra应用程序,我正在尝试将DataMapper与mysql适配器连接起来。代码的相关部分如下所示 DataMapper.setup(:default, ENV['DATABASE_URL']) class Category include DataMapper::Resource property :id, Serial property :name, String end DataMapper.finalize.auto_up

我有一个简单的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的模块模式。我在模块顶部有
需要“数据映射器”
。Mysql服务器已启动并正在运行。但每当我
rackup
,我都会得到以下错误:

警告:命令失败:/dev/app/.bundle/gems/data_objects-0.10.14/lib/data_objects/quoting.rb:12:in'quote_string':没有从nil到整数的隐式转换(TypeError)

我到处寻找答案,但唯一能找到的是一个人建议将ruby从2.0升级到2.1。我不能这样做,因为这是部署到Openshift的,在Openshift中,最高的ruby是2.0。关于为什么会发生这种情况还有其他建议吗


编辑:忘记添加
数据库\u URL
的填充情况良好,我还安装了
dm mysql适配器

,通过在openshift上安装rbenv并升级到2.1+ruby解决了这个问题。请看这里