Как использовать представленные параметры для заполнения значений по умолчанию в form_for (: sym)? - PullRequest
0 голосов
/ 06 декабря 2018

Я надеюсь, что кто-то может помочь мне избежать уродливого шаблона, который мне часто приходилось использовать в Rails, когда я хочу показать форму, основанную на символе.Пример:

form_for(:person, url: person_path) do |f|
  = f.text_field :first_name, value: @form_params[:first_name]
  = f.check_box :awesome, checked: @form_params[:awesome] == "1"
  = f.submit

В этом случае @form_params было бы установлено в действии person_path как @form_params = params[:person].

При работе с моделью мы автоматически получаем поля формы, которые заполняются значением модели.Но мне не удалось найти какой-либо сопоставимый механизм, доступный при работе с формой, основанной на sym вместо модели.В идеальном мире я хочу что-то вроде этого:

form_for(:person, url: person_path, using: @form_params) do |f|
  = f.text_field :first_name # Default value is @form_params[:first_name]
  = f.check_box :awesome # Default value matches @form_params[:awesome]
  = f.submit

Кто-нибудь знает, возможно ли что-то подобное с методами формы, которые Rails делает доступными?

Обновление Я не женат на form_for, только начал там, так как кажется, что это самый распространенный помощник по Rails.form_tag или form_with было бы хорошо, если бы они действительно работали для этого

...