我有两个模型,一个Product::Variant
和一个Product::AvailableProduct
(属于_to Product::Variant
)。他们都有price_cents
和cost_per_unit
领域。
我正在使用money-rails gem,所以这些实际上是price_cents
, price_currency
, cost_per_unit_cents
, 和cost_per_unit_currency
在数据库中。
在Product::Variant
模型中,aprice
和cost_per_unit
是必需的,并且字段不可为空。当我创建 aProduct::AvailableProduct
时,我希望price
andcost_per_unit
继承自关联Product::Variant
记录,并且price
andcost_per_unit
为 nil,这意味着不应从Product::Variant
. 只有当用户想要覆盖默认值时,这些字段才应该不为零。
我研究过delegate
在该方法上使用一个方法Product::AvailableProduct
,但似乎我不能有条件地委托。有没有更简化/优雅的方式来做到这一点?