Рельсы формы кнопки для нескольких действий - PullRequest
1 голос
/ 08 марта 2012

У меня есть Rails 'remote_form_for, который в основном меняет значение поля, и я хочу иметь 3 кнопки. Первая кнопка - сохранить значение поля. Вторая кнопка - сохранить значение и затем вызвать Action1 (например, отправить электронное письмо, что поле было изменено). Третья кнопка - отмена.

Форма объявлена ​​с

<% remote_form_for @post,
  :url => { action => 'update_field1', :id => @post.id } do |f| %>

Первая кнопка

<%= f.submit "Save", :disable_with => "Please Wait" %>

Как мне реализовать вторую кнопку? Большое спасибо!

1 Ответ

3 голосов
/ 08 марта 2012

Так что на самом деле это не то, как работают теги отправки, это проблема вашего вопроса. При отправке форма отправляется, а назначение тега отправки контролируется назначением формы, а не самой кнопкой отправки. Поэтому не имеет значения, что вы поместите в тег submit, он всегда будет выполнять одно и то же действие контроллера.

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

case params[:commit]
when 'Save' then do_something
when 'Send Email' then do_something && send_email
end

Каждая кнопка отправки отправляет отдельный параметр фиксации, и вы можете переключать действие в зависимости от этого параметра.

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