Форма рельсов с 3 кнопками отправки - PullRequest
1 голос
/ 05 января 2011

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

Является ли form_tagлучший способ сделать это?Если нет, то, если я просто использую простые кнопки, как я могу подключить их для сбора данных из выбранного флажка?

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 05 января 2011

Одним из способов является создание одной формы с тремя кнопками.Если вы используете form_tag, вы можете создать три кнопки, выполнив submit_tag три раза.для submit_tags используйте тот же параметр: name, но разные значения.При обработке формы отправьте проверку, для какой кнопки они нажали, и затем перенаправьте к соответствующему действию.

делая это таким образом, вам не нужно использовать js, чтобы делить флажки с тремя различными формами и т. Д.

1 голос
/ 05 мая 2012

Имея тот же вопрос, я попытался использовать form_for, и, кажется, работает. Я просто добавил кнопку отправки для дополнительных действий.

= form_for @request do |f|
  = render 'shared/error_messages', object: f.object

  = f.label :status
  = f.text_field :status

...some more fields  

  = f.submit "Save changes", class: "btn btn-large btn-primary" <--- This is initial button
  = f.submit "Accept", name: 'accept', class: "btn btn-large btn-primary"
  = f.submit "Reroute", name: 'reroute', class: "btn btn-large btn-primary"
  = f.submit "Solve", name: 'solve', class: "btn btn-large btn-primary"

Затем в контроллере вы проверяете, какая кнопка была нажата:

if !params[:accept].nil? 

if !params[:reroute].nil? 

if !params[:solve].nil? 

Имя начальной кнопки, которую вы можете найти в источнике отображаемой страницы. Это "совершить" для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...