我正在使用rails_admin gem作为管理界面。
我有一个 has_many到的关系,它似乎与rails admin无关。
class Company < ActiveRecord::Base
has_many :talent_infos, class_name: 'CompanyTalentInfo'
has_many :talents, through: :talent_infos
end
class CompanyTalentInfo < ActiveRecord::Base
belongs_to :company
belongs_to :talent
end
class Talent < ActiveRecord::Base
has_many :talent_infos, class_name: 'CompanyTalentInfo'
has_many :companies, through: :talent_infos
end
每次尝试创建新公司时都会收到错误,我的猜测是rails_admin第一次尝试检查关系并且它不接受我当前的关联。
我得到的错误是这个文件gems / rails_admin-0.7.0 / app / views / rails_admin / main / _form_filtering_multiselect.html.haml:21
21 controller.list_entries(config, :index, field.associated_collection_scope, false).map { |o| [o.send(field.associated _object_label_method), o.send(field.associated_primary_key)] }.sort_by {|a| [selected_ids.index(a[1]) || selected_ids.si ze, i+=1] }
我收到此错误
undefined method `klass' for nil:NilClass`
任何人都可以帮我解决这个问题,如何解决这个问题。
答案 0 :(得分:0)
也许是迟到的回复,但您能否将数据库架构的相关部分与以下内容进行比较,让我知道其中的区别?我相信关系设置正确,这应该是问题。
create_table "companies", force: :cascade do |t|
t.string "name"
end
create_table "company_talent_infos", force: :cascade do |t|
t.string "metadata"
t.integer "company_id"
t.integer "talent_id"
end
create_table "talents", force: :cascade do |t|
t.string "name"
end