Не удалось зарегистрировать событие "sql.active_record". NoMethodError: неопределенный метод `name'
В настоящее время я занимаюсь разработкой приложения с использованием NuoDB и Ruby on Rails
Я использую гем 'nuodb' и 'activerecord-nuodb-adapter' для подключения к БД, но, похоже, при выполнении команд я получаю сообщение об ошибке в журналах.
Например, когда я запускаю команды в своем действии:
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".
ошибка не появляется
Я пытался выяснить, откуда происходит эта ошибка, и я не могу ее найти. Я не уверен, что оставил бы это в покое, поскольку команды все еще выполняются.
1 ответ
Это известная проблема с драйвером, которая отслеживается здесь; GitHub: GeneralLedger.find (params [: id]). Delete throws ошибка при записи удаления в ActiveRecord
На ваш взгляд, ошибка не препятствует выполнению действия, это просто вывод в журналы, который пропускается.
Я ожидаю, что дальнейшие обновления будут опубликованы по ссылке GitHub выше.