所以我有一批货,最多可以有三家托运公司。所以我有这个…

shipment belongs_to shipper
shipper has_many shipments

但我在shipps表中又添加了两列:shippor_id_2和shippor_id_3如何设置关联并让ActiveAdmin实现它?

最佳答案

我建议在这两个类之间使用一个类来将货物分配给发货人。

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个托运人的限制。

关于ruby-on-rails - Rails 3 ActiveAdmin。如何使用不同的外键设置has_many和belongs_to?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8794740/

10-10 22:44