我有以下型号
class Owner < ActiveRecord::Base
has_many :business_owners
has_many :businesses, :through => :business_owner
end
class Business < Active Record::Base
has_many :business_owners
has_many :businesses, :through => :business_owner
end
class BusinessOwner < ActiveRecord::Base
belongs_to :owners
belongs_to :businesses
end
我尝试将 BusinessOwner 模型添加到管理仪表板:
rails generate active_admin:resource BusinessOwner
它在app/admin/中创建一个名为business_owners的文件 当我尝试查看企业主时,我收到以下错误:
uninitialized constant BusinessOwner::Owners
Extracted source (around line #1):
1: render renderer_for(:index)
有人可以告诉我如何使用具有多对多关系的主动管理吗?
最佳答案
你的人际关系看起来不太好。
在 belongs_to
关系中,Rails 希望您使用单数形式
class BusinessOwner < ActiveRecord::Base
belongs_to :owner
belongs_to :business
end
同样,您需要正确引用:through
has_many :businesses, :through => :business_owners
(即复数所有者)
在考虑 ActiveAdmin 之前,通常值得启动 Rails 控制台(或编写测试,呵呵)来测试这些东西;)
关于ruby-on-rails - Rails Active Admin 多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9450988/