我有一个带有以下代码的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