Rails 3 ActiveAdmin. Как настроить has_many и assign_to с другим внешним ключом? - PullRequest
2 голосов
/ 10 января 2012

Итак, у меня есть груз, который может иметь до трех грузоотправителей.Итак, у меня есть это ...

shipment belongs_to shipper
shipper has_many shipments

Но я добавил еще две колонки в таблицу поставок: shipper_id_2 и shipper_id_3.Как я могу настроить ассоциацию, а также ActiveAdmin реализовать это?

1 Ответ

1 голос
/ 10 января 2012

Я бы рекомендовал использовать класс между этими двумя для назначения отправлений грузоотправителям.

class ShippingAssignments
  belongs_to :shipment
  belongs_to :shipper
end

class Shipment
  has_many :shipping_assignments
  has_many :shippers, :through => :shipping_assignments
end

class Shipper
  has_many :shipping_assignments
  has_many :shipments, :through => :shipping_assignments
end

Вы можете установить ограничение на 3 грузоотправителя с валидаторами.

...