Я надеюсь, что кто-то может помочь мне избежать уродливого шаблона, который мне часто приходилось использовать в 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
было бы хорошо, если бы они действительно работали для этого