У меня есть form_tag
в моей edit
зрения:переформатировать form_tag в form_for использовать formaction
<%= form_tag stage_batch_path(@stage_batch), multipart: true, class: 'form-inline', role: 'form', method: :put do %>
<div class="form-group">
<%= label_tag 'csv_batch_file', 'Select batch file' %>
<%= file_field_tag 'csv_batch_file', class: 'form-control' %>
</div>
<br>
<div class="form-group">
<%= label_tag 'potential_item_id', 'Input item id' %>
<%= text_field_tag "potential_item_id" %>
</div>
<br>
<%= button_tag 'Stage', class: 'btn btn-primary' %>
<% end %>
В настоящее время он put
с до stage_batches/:id
чего я хочу.
Однако, я хочу добавить еще одну кнопку, которая post
s другому контроллеру, скажем Foo#create
. Я прочитал в another answer, что опция formaction
будет работать. Но данный пример использует form_for
и не form_tag
:
<% form_for(something) do |f| %>
...
<%= f.submit "Create" %>
<%= f.submit "Special Action", formaction: special_action_path %>
<% end %>
Как переписать мой form_tag
как form_for
?
Можете ли вы добавить пример с помощью [simple_form] (https://github.com/plataformatec/simple_form) и передать «PUT» и «POST» на разные маршруты из той же формы? – mbigras
Конечно. 5 минут. – brookz
Но как отправить форму на один из двух разных маршрутов? Скажите 'Foo # create' или' Bar # edit'? – mbigras