Rails: Как создать более одной формы с кнопкой отправки, выполняя различные функции? - PullRequest
1 голос
/ 07 ноября 2010

Я хочу создать более одной формы с кнопкой отправки, при этом каждая кнопка отправки имеет различные действия / функции для выполнения.
Как этого добиться?На данный момент все кнопки отправки принимают метод создания контроллера в качестве функции действия.Как это переопределить?Могу ли я дать имя каждой кнопке отправки и перенаправить действие каждой кнопки на другой метод в файле контроллера?
Как это сделать?Я использую рельс 3.0.1.

1 Ответ

0 голосов
/ 07 ноября 2010

Если вы используете вспомогательный метод form_for, я полагаю, что он использует new_record? метод для любого объекта, который вы передаете, чтобы определить правильное действие, на которое он должен указать. Например:

<%= form_for @page do |f| %>

Если @ page.new_record? оценивается как true, форма будет POST для метода создания на PagesController. Однако, если он оценивается как false, он будет POST для метода обновления на PagesController.

Вы можете переопределить URL-адрес формы POST, выполнив что-то вроде:

<%= form_for @page, :url => { :action => "my_action" } do |f| %>

Это позволит вам отправлять данные формы для настраиваемого действия. Вам не нужно ничего менять, связанные с кнопками отправки.

Надеюсь, это поможет!

...