在不刷新页面的情况下无法通过 submit_tag 提交表单
Not able to submit the form via submit_tag without refreshing the page
我正在使用 Rails 4 并添加了一个 will_paginate gem。添加此 gem 后,提交按钮需要刷新页面才能提交表单。在不刷新页面且不发布表单的情况下单击提交按钮时选择按钮。通过选项卡呈现也会禁用提交按钮。请帮忙
模板文件
<%= form_tag update_multiple_orders_path, method: :put do %>
<tbody>
<% @orders.each do |order| %>
<tr>
<td><%= order.user.name %></td>
<td><%= order.total_items %></td>
<td>Rs. <%= order.price %></td>
<td><%= order.contact_no %></td>
<td><%= order.delivery_address %>, <%= order.state %>, <%= order.country %>-<%= order.pincode %></td>
<td><%= link_to image_tag('menu_img/view.png'), order_items_path(order)%></td>
<td><%=check_status(order.id,order.status)%></td>
<%= fields_for "orders[]", order do |fields| %>
<td><%= fields.check_box :status %></td>
<%end%>
</tr>
<% end %>
</tbody>
</table>
<div style="text-align:right;padding: 5px 5px 5px 5px "><%=submit_tag 'Change status' %></div>
<%end%><!--end form_tag-->
控制器文件
def update_multiple
orders= Order.update(params[:orders].keys,params[:orders].values)
orders.each do |order|
order.save
end
respond_to do |format|
format.html { redirect_to orders_path }
format.json { head :no_content }
end
end
参数-
参数:{"utf8"=>"✓", "authenticity_token"=>"ljPSjOWCK/Lup/V1qILPQG3Ov9vs0uoDcsc+Os3Q72o=", "orders"=>{"6"=>{"status"=>"1"}}, "commit"=>"Change status"}
感谢@jvnill 和@pavan 的回复。最后我找到了原因。它的发生是因为 turbolinks。我为特定控制器禁用了它们。
我正在使用 Rails 4 并添加了一个 will_paginate gem。添加此 gem 后,提交按钮需要刷新页面才能提交表单。在不刷新页面且不发布表单的情况下单击提交按钮时选择按钮。通过选项卡呈现也会禁用提交按钮。请帮忙
模板文件
<%= form_tag update_multiple_orders_path, method: :put do %>
<tbody>
<% @orders.each do |order| %>
<tr>
<td><%= order.user.name %></td>
<td><%= order.total_items %></td>
<td>Rs. <%= order.price %></td>
<td><%= order.contact_no %></td>
<td><%= order.delivery_address %>, <%= order.state %>, <%= order.country %>-<%= order.pincode %></td>
<td><%= link_to image_tag('menu_img/view.png'), order_items_path(order)%></td>
<td><%=check_status(order.id,order.status)%></td>
<%= fields_for "orders[]", order do |fields| %>
<td><%= fields.check_box :status %></td>
<%end%>
</tr>
<% end %>
</tbody>
</table>
<div style="text-align:right;padding: 5px 5px 5px 5px "><%=submit_tag 'Change status' %></div>
<%end%><!--end form_tag-->
控制器文件
def update_multiple
orders= Order.update(params[:orders].keys,params[:orders].values)
orders.each do |order|
order.save
end
respond_to do |format|
format.html { redirect_to orders_path }
format.json { head :no_content }
end
end
参数-
参数:{"utf8"=>"✓", "authenticity_token"=>"ljPSjOWCK/Lup/V1qILPQG3Ov9vs0uoDcsc+Os3Q72o=", "orders"=>{"6"=>{"status"=>"1"}}, "commit"=>"Change status"}
感谢@jvnill 和@pavan 的回复。最后我找到了原因。它的发生是因为 turbolinks。我为特定控制器禁用了它们。