Я работаю с формой Rails (v5.1), в которой используются помощники даты объекта модели , которые представляют даты, выбранные с помощью трех выпадающих меню (д / м / г), в качестве параметров типа
{..."next_inspection_date(3i)"=>"14", "next_inspection_date(2i)"=>"8", "next_inspection_date(1i)"=>"2019"...}
By Rails magi c, MyModel.new(params)
знает, что с этим делать, но у меня есть несколько дополнительных логи c Я хотел бы применить, когда форма отправлена. Я мог бы написать что-то вроде
TimeWithZone.parse("#{params[:next_inspection_date(1i)]}-#{params[:next_inspection_date(2i)]}-#{params[:next_inspection_date(3i)]}")
, чтобы извлечь дату, но это будет быстро повторяться с несколькими датами. Для DRY это вручную, скорее всего, даст что-то довольно лаконичное для чтения и представит множество логик c, которые действительно отвлекут от того, что я пытаюсь сделать. Мне было интересно, есть ли в Rails встроенный помощник, чтобы я мог написать что-то вроде
MyModel.next_inspection_date = useful_date_helper(params, :next_inspection_date)
Руководства Rails просто утверждают, что такие методы, как update
или new
понимают, что делать с этими параметрами .
Заранее благодарим за любые предложения.