Вы пробовали другой синтаксис? Или, возможно, лямбда для if
? например,
with_options presence: true, if: ->(obj) { obj.product_type_mocap? } do
validates :length, :frame_rate_type, :biped, :loopable
end
with_options
передаст валидатор присутствия каждому элементу, и я считаю, что лямбда-синтаксис работает гораздо более последовательно, чем символ.