当我使用如下结构时:
<table>
<%= f.fields_for :group_locations do |gl| %>
<tr>
<td><%= gl.label :group_id %></td>
<td><%= gl.select :group_id, paths %></td>
</tr>
<% end %>
</table>
我在浏览器 (Safari) 中针对表中的每一行 ( <input> is not allowed inside <tbody>. Inserting <input> before the <table> instead.
) 出现错误,这是由隐藏的 <input>
引起的对于放置在 </tr>
之后的关联 ID 。我怎样才能导致id的<input>
出现在 TD 元素之一内?
最佳答案
我认为如果手动打印隐藏字段将不会被打印。你能试试这个吗?
<table>
<tr>
<%= f.fields_for :group_locations do |gl| %>
<td><%= gl.hidden_field :id %></td>
<td><%= gl.label :group_id %></td>
<td><%= gl.select :group_id, paths %></td>
<% end %>
</tr>
</table>
关于ruby-on-rails - 表中的 fields_for 生成技术上不正确的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602579/