使用form_tag

时间:2017-12-12 02:04:08

标签: ruby-on-rails html-form url-parameters

当我提交表单来搜索并显示一些数据时,如果选择“include_blank”值,我不希望在网址中出现空参数。

<%= form_tag(search_index_path, method: :get) do %>
  <%= select_tag(
        'fruit_selection',
        options_for_select(['Apple', 'Banana', 'Pear'], @prev_fruit_search),
        include_blank: 'All Fruit'
      ) %>
  <%= submit_tag('Search', name: nil) %>
<% end %>

我希望/希望:

  1. Apple:mysite.com?fruit_selection=Apple
  2. 香蕉:mysite.com?fruit_selection=Banana
  3. 梨子:mysite.com?fruit_selection=Pear
  4. 所有水果:mysite.com
  5. 但是,我得到了:

    1. Apple:mysite.com?fruit_selection=Apple
    2. 香蕉:mysite.com?fruit_selection=Banana
    3. 梨子:mysite.com?fruit_selection=Pear
    4. 所有水果:mysite.com?fruit_selection =

1 个答案:

答案 0 :(得分:0)

以下代码段允许所有水果&#39;是默认/第一选择。

当所有水果&#39;如果选中,则url查询参数将显示为&#39; mysite.com?fruit_selection = All + Fruit&#39;而不是unaesthetic&#39; mysite.com?fruit_selection =&#39;。

当@prev_fruit_search不是nil时,它的值将被选为选项,否则&#39; All Fruit&#39;将被选中。

<%= form_tag(search_index_path, method: :get) do %>
  <%= select_tag(
        'fruit_selection',
        options_for_select(
          ['All Fruit'] + ['Apple', 'Banana', 'Pear'],
          @prev_fruit_search || 'All Fruit'
        )
      ) %>
  <%= submit_tag('Search', name: nil) %>
<% end %>