我有三个模特
Company
Shipping_method
Order
公司可以有很多shipping_methods&当用户下订单时,他可以为订单选择shipping_method。
用户选择shipping_method&下订单,甚至shipping_method从公司层面改变,不应该在订单中更改。
到目前为止,这是我的实施,
class ShippingMethod
include Mongoid::Document
field :name, type: String
field :is_default, type: Boolean, default: false
field :remove_image, type: Boolean, default: false
belongs_to :ownable, polymorphic: true
end
订单类
class Order
include Mongoid::Document
embeds_one :shipping_method
end
公司类
class OfficeGroup
include Mongoid::Document
has_many :shipping_methods, as: :ownable, autosave: true
end
公司与公司之间的所有事情运送方式工作正常。但是,一旦我尝试将shipping_method分配给订单。我无法更新订单中的shipping_method。这就是我尝试更新订单中的shipping_method的方式。
shipping_method = ShippingMethod.find("id here")
order.shipping_method = shipping_method
order.save
我的关系有什么问题?有人可以解释一下