【问题标题】:Not able to submit the form via submit_tag without refreshing the page在不刷新页面的情况下无法通过 submit_tag 提交表单
【发布时间】:2015-03-04 05:34:08
【问题描述】:

我正在使用 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"=>"更改状态"}

【问题讨论】:

  • 我倾向于关闭这个问题,因为它有点不清楚。更新您的问题以详细说明“添加此 gem 后,提交按钮需要刷新页面以提交表单”的含义
  • 我猜这与will_paginate gem 无关。请发布在提交form 时生成的parameters
  • @jvnill -我更新了。按钮在单击提交按钮时被选中而不刷新页面并且它不发布表单
  • @Pavan- 我更新了刷新页面后点击提交按钮时发布的参数。

标签: ruby-on-rails forms will-paginate


【解决方案1】:

感谢@jvnill 和@pavan 的回复。最后我找到了原因。这是因为 turbolinks 而发生的。我为特定控制器禁用了它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2017-01-12
    • 2011-10-17
    • 2019-11-12
    相关资源
    最近更新 更多