Я использую Reform
драгоценный камень. Допустим, у меня есть какая-то форма, которой я передаю две даты как два отдельных атрибута в параметрах. Теперь в форме я хочу создать другой атрибут (который также является атрибутом существующей модели) с именем 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