【发布时间】:2020-02-03 10:24:04
【问题描述】:
我正在使用Reform gem。假设我有某种形式,我将两个日期作为参数中的两个单独属性传递给它。现在在表单中,我想实例化另一个名为 interval 的属性(也是现有模型属性)来计算这两个日期之间的间隔,然后将其保存到模型中。
# some_form.rb
class SomeForm < Reform::Form
property: :starts_on
property: :ends_on
property: :interval
end
根据传入日期填充间隔、对其进行验证并将其保存在模型上的最佳方法是什么?
我尝试了不同的方法,从覆盖 validate 方法和使用 populator/prepopulator 选项,但无济于事。
在最好的情况下,我会假设它看起来像这样:
class SomeForm < Reform::Form
property: :starts_on
property: :ends_on
property: :interval, populate: :calculate_interval
end
def calcute_interval
(starts_on..ends_on).count
end
【问题讨论】:
标签: ruby-on-rails ruby forms rubygems reform