Хорошо иметь 2 тега для отправки, но вы можете иметь только одну форму.Оба тега submit будут отправлены обратно в действие контроллера форм, как определено в объявлении form_for.Все, что вам нужно сделать в действии контроллера, это проверить параметр коммита (params[:commit]
) для значения текста кнопки и действовать соответствующим образом в условии, основанном на этом значении.
Поэтому удалите form_for из частичного 2 (Возможно, здесь вместо этого можно использовать fields_for), переместите кнопку отправки в form1, где вы хотите, и проверьте хэш параметров фиксации для соответствующего значения
например,
def update
if params[:commit] == 'Update form 1'
#do something
elsif params[:commit] == 'Update form 2'
#do something else
else
#Rails an error - You have not set the right values in your form submit buttons
end
end
Лучше использовать i18nдля текста кнопки и логики контроллера для проверки текста кнопки, тогда вы можете изменить текст кнопки на что угодно, не путая проверки в контроллере