如何为我的 Reform 表单创建自定义强制转换?

How can I create a custom coercion for my Reform form?

我有一个用 Reform gem 创建的表单。

我有一个变量,它是一个 id 数组,所以更新这个变量的任务是用数据库中的对象填充。

如何使用干式创建自定义强制转换来执行此操作? 我没有在文档中找到自定义类型的示例。

改革可以用干式胁迫。这将覆盖 setter,强制转换值并调用原始 setter。您不必为您的用例创建自定义强制转换。请参见下面的示例。

在您的 Gemfile

中包含以下 gem
gem 'dry-types'

下面的代码进入你的表单 class 说 form.rb

require 'reform/form/coercion'
class Form < Reform::Form
  property :ids, type:Types::Coercible::Array.member(Types::Form::Int)
end