2011-01-05 2 views
1

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

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

Спасибо ...

ответ

2

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

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

1

Имея тот же вопрос, я пытался использовать 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? 

Название начальной кнопки вы можете найти в источнике отображаемой странице. Это «совершить» для меня.

Смежные вопросы