2014-06-18 20 views
1

我有我的表的最後一排的的form_tagRails的form_tag的在<tr></tr>標籤

<tr> 
    <%= form_tag(emails_path, method: :post) do %> 
    <td><%= text_field_tag 'email', nil, class: "form-control" %></td> 
    <td><%= submit_tag "add", class: "btn btn-small btn-success" %></td> 
    <% end %> 
</tr> 

其呈現以下

<tr> 
    <form accept-charset="UTF-8" action="/emails" method="post"></form> <!-- Close here --> 
    <td><input class="form-control" id="email" name="email" type="text"></td> 
    <td><input class="btn btn-small btn-success" name="commit" type="submit" value="add"></td> 
</tr> 

「添加」按鈕不起作用,因爲表單標籤沒有包裹我的輸入控件。

但是,當我試圖採取的形式出表像這樣

<%= form_tag(emails_path, method: :post) do %> 
    <p><%= text_field_tag 'email', nil, class: "form-control" %></p> 
    <p><%= submit_tag "add", class: "btn btn-small btn-success" %></p> 
    <% end %> 

形式正確地呈現和「添加」按鈕的作品。

我該怎麼辦?我記得它曾經工作過......

回答

6

你不能這樣做。

您的表單標記不能存在,穿插着表格的標記。它必須進入<td>。您生成無效的標記,並且瀏覽器儘可能地解釋它。

你應該用你的第二個選項,用<p>標籤,或重新考慮你需要有一個表格跨越多個表格單元格,或包裹整個表在單個<form>

+0

謝謝!我終於在我的​​中包裝了

。這是一個很好的練習標記嗎? – etlds