我想将搜索文本框作为一堆表列的标题。我怎么写这个?
到目前为止,我已经设法让它在没有表格标题中的text_fields的情况下工作。
<%= form_tag contacts_path, :method => 'get' do %>
<%= text_field_tag :email_address, params[:email_address] %>
<%= text_field_tag :first_name, params[:first_name] %>
<%= text_field_tag :last_name, params[:last_name] %>
<%= submit_tag "Search", :name => nil %>
<% end %>
<table>
<thead>
<tr>
<th><%= text_field_tag :email_address, nil, placeholder: "email address ..." %></th>
<th><%= text_field_tag :first_name, nil, placeholder: "first name ..." %></th>
<th><%= text_field_tag :last_name, nil, placeholder: "last name ..." %></th>
</tr>
</thead>
<% end %>
<tbody>
<% @contacts.each do |contact| %>
<tr>
<td><%= link_to contact.email_address.to_s, edit_contact_path(contact) %></td>
<td><%= contact.first_name %></td>
<td><%= contact.last_name %></td>
</tr>
<% end %>
</tbody>
</table>
现在我的功能正常运行,但这不是我想要的方式。我希望标题中的每个文本字段都执行顶部表单中的文本字段。有一个简单的方法吗?
感谢。
答案 0 :(得分:1)
您的文字字段未包含在表单中。它们必须存在于中间的某个地方:
<%= form_tag contacts_path, :method => 'get' do %>
# ... All form elements must be within your form ... in here!
<% end %>
如果它们存在于表格之外,则不会随表格一起提交给您的申请表。
只需将表格移到表单中,然后将字段放在需要的地方,一切都应该有效。