我目前正在使用NuoDB和RubyonRails 开发一个应用程序
我正在使用"nuodb"gem和"activerecord nuodb adapter"连接到DB,但在执行命令时,日志似乎出现了错误。
例如,当我在操作中运行命令时:
x = GeneralLedger.where("id = ?", params[:id]).first
x.delete
这将在开发日志中输出:
[1m[35mGeneralLedger Load (2.4ms)[0m SELECT `general_ledgers`.* FROM `general_ledgers` WHERE (id = '48') FETCH FIRST 1 ROWS ONLY
[1m[35mSQL (0.3ms)[0m DELETE FROM `general_ledgers` WHERE `general_ledgers`.`id` = 48
这是可以的,但当我执行更直接的方法时,即:
GeneralLedger.find(params[:id]).delete
我一直收到这个错误:
Could not log "sql.active_record" event. NoMethodError: undefined method `name' for 48:Fixnum <------ error
[1m[35mSQL (0.4ms)[0m DELETE FROM `general_ledgers` WHERE `general_ledgers`.`id` = 48
下面是我在更新现有记录时遇到的另一个日志错误示例:
Could not log "sql.active_record" event. NoMethodError: undefined method `name' for 21:Fixnum
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
[1m[35m (0.4ms)[0m UPDATE `general_ledgers` SET `accnt_dscr` = 'Other Expenses', `updated_at` = '2014-03-03 14:10:26' WHERE `general_ledgers`.`id` = 21
[1m[36m (0.3ms)[0m [1mcommit transaction[0m
尽管执行了sql命令并删除了记录,但我无法生成sql命令。
我已经尝试过使用sqlite3进行测试和
无法记录"sql.active_record"事件。
错误未显示。
我一直在想这个日志错误是从哪里来的,但我找不到它。我不确定我是否会把它放在一边,因为命令仍然在执行。
这是一个已知的驱动程序问题,此处对此进行跟踪;GitHub:GeneralLedger.find(params[:id]).delete在ActiveRecord 中记录删除时引发错误
就您而言,错误并没有阻止执行操作,它只是忽略了日志的输出。
我希望能在上面的GitHub链接上发布更多更新。