我们正在寻找使用改革宝石来验证输入。
我们面临的问题之一是我们以这种格式接受输入:
params = {
records: {
"record-id-23423424": {
name: 'Joe Smith'
}
"record-id-43234233": {
name: 'Jane Doe'
}
"record-id-345234555": {
name: 'Fox trot'
}
"record-id-34234234": {
name: 'Alex'
}
}
}
因此,如果我们要创建改革班
class RecordForm < Reform::Form
property :records
validates :records, presence: true
# ?????????
end
我们如何验证记录的内容以确保每个记录都有名字?记录ID值未提前知道。
改革目前不允许动态属性,实际上,它没有计划,因为改革应该是特定于UI的形式对象。
解决方案是将您的输入预先介绍到劳拉所建议的东西中。然后,您可以为每个字段具有嵌套属性。
collection :records do
property :id # manually parsed
property :name
end