Ruby SQLite参数类型错误
CodeRuby SQLite参数类型错误,ruby,sqlite,rvm,Ruby,Sqlite,Rvm,Code@db=SQLite3::Database.new'db.db'与ruby-1.9.3-p194完美配合,并与ruby-2.0.0-p353(rvm 1.24.7)返回错误: 我无法用谷歌搜索任何解决方案 UPD:irb没有错误。仅使用我自己的代码: # encoding: utf-8 require 'sqlite3' class Model attr_reader :files, :last def initialize(dbPath = 'photo.db', tags
@db=SQLite3::Database.new'db.db'
与ruby-1.9.3-p194完美配合,并与ruby-2.0.0-p353(rvm 1.24.7)返回错误:
我无法用谷歌搜索任何解决方案
UPD:irb没有错误。仅使用我自己的代码:
# encoding: utf-8
require 'sqlite3'
class Model
attr_reader :files, :last
def initialize(dbPath = 'photo.db', tags = '', lastID = 0)
@tags = tags
@lastID = lastID
$log.debug() {"Loading database: #{dbPath}..."}
@db = SQLite3::Database.new dbPath
end
...
它在日志中生成此跟踪:
I, [2013-12-29T12:03:30.586180 #8961] INFO -- : ---===== S T A R T E D =====---
I, [2013-12-29T12:03:30.587922 #8961] INFO -- : Config /home/michael/Projects/Ruby/SPS/config.yml loaded
D, [2013-12-29T12:03:30.588072 #8961] DEBUG -- : Loading database: /home/michael/.local/share/shotwell/data/photo.db...
F, [2013-12-29T12:03:30.588207 #8961] FATAL -- : wrong argument type nil (expected Hash) (TypeError)
/home/michael/Projects/Ruby/SPS/model.rb:11:in `initialize'
/home/michael/Projects/Ruby/SPS/model.rb:11:in `new'
/home/michael/Projects/Ruby/SPS/model.rb:11:in `initialize'
/home/michael/Projects/Ruby/SPS/controller.rb:11:in `new'
/home/michael/Projects/Ruby/SPS/controller.rb:11:in `initialize'
./main.rb:10:in `new'
./main.rb:10:in `'
一、 [2013-12-29T12:03:30.586180#8961]信息--:--==S T A R T E D=====---
一、 [2013-12-29T12:03:30.587922#8961]信息--:Config/home/michael/Projects/Ruby/SPS/Config.yml已加载
D、 调试--:加载数据库:/home/michael/.local/share/shotwell/data/photo.db。。。
F、 [2013-12-29T12:03:30.588207#8961]致命--:错误的参数类型nil(预期散列)(类型错误)
/home/michael/Projects/Ruby/SPS/model.rb:11:in'initialize'
/home/michael/Projects/Ruby/SPS/model.rb:11:in'new'
/home/michael/Projects/Ruby/SPS/model.rb:11:in'initialize'
/home/michael/Projects/Ruby/SPS/controller.rb:11:in'new'
/home/michael/Projects/Ruby/SPS/controller.rb:11:in'initialize'
/main.rb:10:in'new'
/main.rb:10:in`'
我在可执行脚本
中替换了它/usr/bin/ruby
和#/usr/bin/env ruby
如果您认为有问题,您可以在这里登录,但它的解决方案(重新安装gem)对我不起作用。请编辑您的问题以包含完整的回溯;这个错误发生在哪个文件/行号上?heroku的家伙[HERE][1]也遇到了类似的问题,他们似乎已经通过重新安装Ruby Sequel gem超越了这个问题。[1] :继续安装,卸载对错误没有影响。
I, [2013-12-29T12:03:30.586180 #8961] INFO -- : ---===== S T A R T E D =====---
I, [2013-12-29T12:03:30.587922 #8961] INFO -- : Config /home/michael/Projects/Ruby/SPS/config.yml loaded
D, [2013-12-29T12:03:30.588072 #8961] DEBUG -- : Loading database: /home/michael/.local/share/shotwell/data/photo.db...
F, [2013-12-29T12:03:30.588207 #8961] FATAL -- : wrong argument type nil (expected Hash) (TypeError)
/home/michael/Projects/Ruby/SPS/model.rb:11:in `initialize'
/home/michael/Projects/Ruby/SPS/model.rb:11:in `new'
/home/michael/Projects/Ruby/SPS/model.rb:11:in `initialize'
/home/michael/Projects/Ruby/SPS/controller.rb:11:in `new'
/home/michael/Projects/Ruby/SPS/controller.rb:11:in `initialize'
./main.rb:10:in `new'
./main.rb:10:in `'