我已将Rails应用程序从Postgres迁移到Mysql,并且出现此错误

An ActiveRecord::StatementInvalid occurred in bans#supporters:

  Mysql2::Error: Unknown column 'follows.followable_id' in 'where clause': SELECT `users`.* FROM `users`  WHERE (follows.followable_id=37 AND follows.followable_type='Ban')
  app/controllers/bans_controller.rb:120:in `supporters'


当我在mysql中执行此操作时

SELECT `users`.* FROM `users`  WHERE ('follows.followable_id'=37 AND 'follows.followable_type'='Ban'


这是工作

因此,如何在rails中的follows.followable_id和follows.followable_type周围添加引号?

谢谢,
吉尔斯

谢谢费内克
实际上在bans_controller中
@users = User.following(@ban)

当我放

@users = User.joins(:follows).following(@ban)


其作品

最佳答案

它与引号无关。您只是没有从Follows迁移followable_id列

10-05 21:08