Mysql2::错误:表名不正确 - 使用 AppMap Gem 时



我最近发现了关于AppMap实用程序,我正试图通过IntelliJ将其合并到我的Rails应用程序中。然而,在安装gem并配置它之后,我发出的任何请求都会抛出以下异常:

ActiveRecord::StatementInvalid in UsersController#index
Mysql2::Error: Incorrect table name '' 

当使用浏览器时,它会对每个页面、模型、请求等执行此操作。从我的堆栈跟踪来看,问题似乎是在我的Ability.rb文件中检查角色时出现的(我使用DeviseCanCanCanRolify进行身份验证)。

如果我尝试在rails控制台中执行user.roles,它会产生以下内容:

irb(main):007:0> u.roles
Role Load (0.5ms)  SELECT `roles`.* FROM `roles` INNER JOIN `` ON `roles`.`id` = ``.`role_id` WHERE ``.`user_id` = 1
(Object doesn't support #inspect)

如果我删除AppMapgem,那么我的应用程序中的一切都像以前一样工作。

我真的不知道从这里去哪里,所以任何输入将非常感谢!

版本:

  • IntelliJ IDEA: 2022.1.4 (Ultimate)
  • AppMap Plugin: 0.21.0
  • AppMap Gem: 0.94.1
  • Rails: 6.1.4.7
  • Ruby: 3.0.1
  • MySql2: 0.5.4
  • CanCaCan: 3.2.2
  • 设计:4.8.1
  • Rolify: 6.0.0

感谢您在AppMap github问题页面中报告此问题。这个问题在appmap-ruby gem的v0.95.0中解决了。如果您需要任何其他帮助,请打开另一个问题或加入我们的社区slack

最新更新