form_for没有创建html表单标签

时间:2019-02-22 09:08:41

标签: html ruby-on-rails

我有一个带有以下代码的html.erb模板:

<%= form_for @object, remote: true do |f| %>
  <div class="form-group">
    <label class="control-label">
      Error Description
    </label>
    <%= f.text_field :error_description, class: "form-control" %>
  </div>
  <div class="form-group">
    <%= f.submit "Send", class: "btn btn-primary" %>
  </div>
<% end %>

应该生成一个非常简单和基本的for。该模板在另一个模板中呈现,该模板可以呈现多次,比如说5次。 问题在于,对于第一个表单,不会创建HTML表单标签。我的意思是,当我以浏览器的第一种形式检查html时,如下所示:

<div class="form-group">
  <label class="control-label">
    Error Description
  </label>
  <input class="form-control" type="text" name="quality_report[error_description]" id="quality_report_error_description">
</div>
<div class="form-group">
  <input type="submit" name="commit" value="Send" class="btn btn-primary" data-disable-with="Send">
</div>

HTML表单标记丢失,因此表单无法正常工作。其他模板可以正确呈现:

<form action="/objects/23" accept-charset="UTF-8" data-remote="true" method="post">
  <input name="utf8" type="hidden" value="✓">
  <input type="hidden" name="_method" value="patch">
  <input type="hidden" name="authenticity_token" id="authenticity_token" value="token">
  <div class="form-group">
    <label class="control-label">
      Error Description
    </label>
    <input class="form-control" type="text" name="quality_report[error_description]" id="quality_report_error_description">
  </div>
  <div class="form-group">
    <input type="submit" name="commit" value="Send" class="btn btn-primary" data-disable-with="Send">
  </div>
</form>

我的问题是这怎么可能发生?模板代码是正确的,否则它不会在每次渲染时都起作用,但对于首次出现的模板代码来说,它仍然正确。我没有在Rails文档中找到任何有关这种情况的信息。我可以给我一些解释,这将是很棒的。 Rails 5.1

0 个答案:

没有答案