使用rails 4.0.13
使用
class Shipment < ActiveRecord::Base
composed_of :weight,
class_name: 'Weight',
mapping: [[wight_value, :value], [weight_unit, :unit]],
converter: :build
end
我需要在分配时指定一些默认值 shipment.weight = nil
P.S:我不想允许零值,但如果以某种方式通过外部输入来,那么我想分配Weight.new(0)
注意:尝试使用转换器,但在传递nil时失败 喜欢转换器:
Proc.new {|value| Weight.new(value || 0)}
答案 0 :(得分:0)
使用to_i将nil值转换为整数,如: -
Proc.new {|value| value.blank? ? Weight.new(value.to_i) : Weight.new(value)}