无法记录"sql.active_record"事件。NoMethodError: 未定义的方法"name"



我目前正在使用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链接上发布更多更新。

最新更新