Ara*_*ind 1 ruby-on-rails simple-form ruby-on-rails-5
我们有这样的形式:
<%= simple_form_for(@venue, url: url, method: method) do |f| %>
<%= render "shared/errors", object: venue%>
<div class="row">
<div class="col-md-12">
<div class="form-group label-floating">
<%= f.association :partner, input_html: { class: "form-control", value: partner.try(:id) }, label_html: { class: 'control-label' } %>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group label-floating">
<%= f.input :name, input_html: { class: "form-control" }, label_html: { class: 'control-label' } %>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group label-floating">
<%= f.input :description, required: true,label: 'About', input_html: { class: "form-control", rows: 5 }, label_html: { class: 'control-label' } %>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我通过methodas时:put,我在表单中得到了一个像这样的隐藏字段
<form novalidate="novalidate" class="simple_form edit_venue" id="edit_venue_19" action="/admin/venues/19" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" />
<input type="hidden" name="_method" value="put" />
Run Code Online (Sandbox Code Playgroud)
对于某些对象,代码按预期提交给更新操作,但对于某些对象,代码作为发布请求提交。这是 Rails 中的错误吗?或者我缺少什么?
并非所有浏览器都支持put或patch. Rails 用现场解决了这个问题_method。Rails 有一个 Rack 中间件,HTTP POST当HTTP PUT表单发送_method=put. 如果您查看 Rails 控制台,您可以发现您收到了一个put/update请求。
| 归档时间: |
|
| 查看次数: |
2312 次 |
| 最近记录: |