在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),以便在显示页面上不显示有关销售的任何内容。我通过向用户模型的list do
,show do
和edit do
块添加一些测试字段(并将与销售无关的内容)添加到我这样做。
我不太清楚要编辑什么,以便rails管理员不会尝试在销售表中查找用户ID。
任何想法,尤其是回答都表示赞赏!
答案 0 :(得分:1)
您需要在foreign_key
/ has_many
关联中指定has_one
。
查看Rails文档:
:foreign_key
指定用于关联的外键。默认情况下,这被认为是 小写的名称和“_id” 后缀。因此,使用has_many关联的Person类将使用 “person_id”为默认值:foreign_key