假设我的主页上有一个学生表,其中包含国家/地区,姓名,年龄列。 假设我想要一个允许用户按国家/地区过滤学生的下拉框,以及一个允许用户搜索具有特定姓名的学生的搜索框。
我知道如何创建国家/地区下拉过滤器:
<% form_tag('/students', :method => :get) do %>
<%= collection_select(:country, :id, Country.all, :id, :name, :include_blank => true) %>
<%= submit_tag 'Filter by Country' %>
<% end %>
我知道如何创建名称搜索过滤器:
<form name="sform" id="sform" action="" style="display:inline;">
<label>
Search names:
</label>
<%= text_field_tag("name", params['name'], :size => 10 ) %>
<%= submit_tag("Go") %>
</form>
但是,如果我想按国家/地区进行过滤,然后仅在该国家/地区内搜索名称,该怎么办?我在URL中传递了所有参数,但我不知道如何确保任何现有的参数在表单中传递。
[一般来说,我上面使用的表单有点hacky,因为我不太了解Rails表单,所以也欢迎提出改进它们的建议。]