所以我有一批货,最多可以有三家托运公司。所以我有这个…
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/