rails admin列不存在

在rails admin中编辑用户时,我得到的列不存在。 销售和用户之间的关系是用户has_many:销售,销售belongs_to买家和卖家的另一个belongs_to,写出来像

belongs_to :seller, :class_name=>User, :foreign_key=>:seller_id

 ActionView::Template::Error (PG::Error: ERROR: column sales.user_id does not exist LINE 1: SELECT "sales".* FROM "sales" WHERE "sales"."user_id" = 14 ^ : SELECT "sales".* FROM "sales" WHERE "sales"."user_id" = 14): 1: = rails_admin_form_for @object, :url => edit_path(@abstract_model, @object.id), :as => @abstract_model.param_key, :html => { :method => "put", :multipart => true, :class => "form-horizontal denser", :data => { :title => @page_name } } do |form| 2: = form.generate :action => :update 

我尝试编辑模型的配置文件(initializers / rails_admin),以便在显示页面上不显示有关销售的任何信息。 我通过在列表中添加几个测试字段(并省略与销售有关的内容),为用户模型show doedit do块来完成此操作。

我不太清楚要编辑什么,以便rails admin不会尝试在sales表中查找用户ID。

感谢任何想法,特别是回答!

您需要在has_many / has_one关联上指定foreign_key

查看Rails文档:

:foreign_key

指定用于关联的外键。 默认情况下,这被认为是小写的这个类的名称和后缀“_id”。 因此,创建has_many关联的Person类将使用“person_id”作为默认值:foreign_key