Rails form_tag使用GET而不是PUT

时间:2016-01-15 17:48:32

标签: ruby-on-rails forms routes put

我使用form_tag更新了我的“汽车”中的属性。模型。一切都应该工作,除非我使用GET而不是像它应该的PUT检查日志。

路由

apply_superadmin_apply_coupons_path -   PUT /superadmin/apply_coupons/apply(.:format) superadmin/apply_coupons#apply
superadmin_apply_coupons_path -         GET /superadmin/apply_coupons(.:format) superadmin/apply_coupons#index

视图

<form class="super-admin-apply-coupons form-horizontal">

  <%= form_tag(apply_superadmin_apply_coupons_path, action: 'apply', method: 'PUT') do %>
    <div class="form-group">
      <label class="col-sm-2"> Select car</label>
      <div class="col-sm-4 apply-coupon-wrap">
        <%= select_tag :id, options_from_collection_for_select(@cars, "id", "device_number"), class:"form-control" %>
      </div>
    </div>
    <div class="form-group">
      <label class="col-md-2">Select coupon code</label>
      <div class="col-sm-4 apply-coupon-wrap">
        <%= select_tag :coupon_code_id, options_from_collection_for_select(@coupon_codes, "id", "name"), class:"form-control" %>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-4">
        <%= submit_tag 'Apply', class: 'btn btn-success' %>
      </div>
    </div>
  <% end %>
</form>

它显然只是重定向回到索引页面,而没有触发我想要的应用操作。

1 个答案:

答案 0 :(得分:1)

您可能在视图中生成了两个<form>标记,一个是html表单标记,另一个是<%=form_tag(...)%>。只是尝试删除html表单标签可能会成功。