【问题标题】:Rails form_tag is using GET instead of PUTRails form_tag 使用 GET 而不是 PUT
【发布时间】:2016-01-15 17:48:31
【问题描述】:

我正在使用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>

它显然只是在没有触发我想要的应用操作的情况下重定向回索引页面。

【问题讨论】:

  • 尝试从 .html.erb 中移除 &lt;form&gt; 标签
  • @RAJ,谢谢
  • 这个问题没有意义,你的代码有问题。
  • 您为什么使用action 选项?这是 Rails 从路径中推断出来的。看起来这也是一个资源,你为什么不用form_for @resource 而不是form_tag

标签: ruby-on-rails forms routes put


【解决方案1】:

您可能在您的视图中生成了两个&lt;form&gt; 标签,一个是html 表单标签,另一个来自&lt;%=form_tag(...)%&gt;。只需尝试删除 html 表单标签可能会成功。

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 2010-10-21
    • 1970-01-01
    • 2016-09-23
    • 2021-08-03
    • 2011-03-16
    • 2014-01-09
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多