Rails Active Admin Отношения ко многим ко многим - PullRequest
2 голосов
/ 26 февраля 2012

У меня есть следующие модели

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

, которая создает файл с именем business_owners в app / admin /когда я пытаюсь просмотреть владельца бизнеса, я получаю следующую ошибку:

uninitialized constant BusinessOwner::Owners
Extracted source (around line #1):

1: render renderer_for(:index)

Может кто-нибудь сказать мне, как использовать активного администратора со многими отношениями?

Ответы [ 2 ]

2 голосов
/ 20 марта 2014

Правильно в бизнес-таблице сделать ассоциации, как это:

class Business < Active Record::Base
  has_many :business_owners
  has_many :oweners, :through => :business_owner
end
2 голосов
/ 26 февраля 2012

Ваши отношения выглядят не так.

В отношении belongs_to Rails ожидает, что вы будете использовать форму единственного числа

class BusinessOwner < ActiveRecord::Base
  belongs_to :owner
  belongs_to :business
end

Аналогично, вам нужно правильно ссылаться на :through

  has_many :businesses, :through => :business_owners

(т.е. множественные владельцы)

Обычно стоит запустить консоль Rails (ИЛИ ПИСАТЬ ТЕСТЫ, хе-хе), чтобы протестировать этот материал, прежде чем думать об ActiveAdmin;)

...