我有一个用于验证和多种产品类型的模块。在此模块中,我想存储MOCAP产品类型的条件。
这些验证仅在product_type_mocap吗?是真的。但是,即使它们为假,它们也会运行...有人对为什么有任何想法吗?我可以根据需要提供更多详细信息
module Validations
module Product
module Mocap
extend ActiveSupport::Concern
included do
with_options if: :product_type_mocap? do |product|
product.validates :length,
:frame_rate_type,
:biped,
:loopable,
presence: true
end
def product_type_mocap?
product_type_id == 5
end
end
end
end
end
答案 0 :(得分:1)
您尝试过其他语法吗?还是Start-Process -FilePath $installerFileName -Verb "runas" -ArgumentList $parameter -Wait
的lambda?例如
if
with_options presence: true, if: ->(obj) { obj.product_type_mocap? } do
validates :length, :frame_rate_type, :biped, :loopable
end
会将存在验证器传递给每个项目,我发现lambda语法的工作原理比符号更一致。