У меня есть форма, и мне нужно иметь 2 кнопки отправки. Это кажется единственным способом, которым я могу думать, чтобы выполнить sh то, что я хочу.
Цель состоит в том, чтобы использовать одну форму для отправки одному методу, а затем, возможно, перенаправить на другой метод в зависимости от переданных параметров потому что функции будут другими.
Форма:
<%= form_for(:mass, url: mass_product_variant_category_path, method: :get, remote: true) do |mass| %>
<%= mass.submit "Update All", name: "All", class: "btn btn-light" %>
<%= mass.submit "Update Files", name: "Files", class: "btn btn-light" %>
<% @Stuff.each do |variant| %>
<%= check_box_tag 'store_variant_ids[]', variant.id %>
<% end %>
...
<% end %>
Я пробовал: <%= submit_tag "Submit", name: "All" %>
, также не работает.
html:
<input type="submit" name="File" value="Update Files" class="btn btn-light" data-disable-with="Update Files">
Контроллер:
def mass_product_variant_category
@stuff = Stuff.where(store_variant_id: params[:store_variant_ids])
if params[:commit] == "File"
redirect_to edit_multiple_stuffs_path(stuffs: @stuffs)
else
respond_to do |format|
format.js
end
end
end
Передаваемые параметры:
{..."mass" => {hidden_field: "int"}, "other_attributes" => ["int"]...}
Это связано с использованием remote: true
, но не уверен почему или как.
Как я могу пройти через параметр, основанный на форме отправки?
Я читал другие SO сообщения на эту тему, но их очень мало и ни у кого, кажется, нет хороших или любых принятых ответов. Я также не могу использовать hidden_fields из-за необходимости перенаправления на основе используемой кнопки отправки.
Есть ли способ "Rails", чтобы сделать это без необходимости добавлять javascript, или это единственный вариант?