洗劫:导轨 6 > PG::未定义表:定义自定义foreign_key时出错



我有两个模型。比方说

  1. 型号A
  2. 型号B

它们之间的关系如下

class ModelA < ApplicationRecord
belongs_to :distributor, class_name: 'ModelB', foreign_key: 'distributor_id'
belongs_to :asset_manager, class_name: 'ModelB', foreign_key: 'asset_manager_id'
end
class ModelB < ApplicationRecord
end

ModelB具有名为";name";我想从ModelA 中进行搜索

所以当我执行这个查询时:

ModelA.ransack(distributor_name_or_asset_manager_name_cont: "some name")

它抛出低于错误

ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "asset_managers_model_A"

它试图在数据库中激发以下查询

model_B.name ILIKE "some name" OR asset_managers_model_A.name ILIKE "some name"

那么,我在这里做错了什么吗?

在查看了transak-gem的开放问题后,我发现这已经被报告了。我面临的问题是Rails6.0.2和Ransack 2.4.0版本

在将我的rails版本升级到6.1.0(最新版本(后,一切都很好。

以下是Ransack gem git hub回购中公开发行的链接

  1. https://github.com/activerecord-hackery/ransack/issues/1119
  2. https://github.com/activerecord-hackery/ransack/issues/1144
  3. https://github.com/activerecord-hackery/ransack/issues/1182

相关内容

  • 没有找到相关文章

最新更新