Rails Bootstrap - 从提交按钮中删除名称属性

时间:2017-10-24 19:16:16

标签: ruby-on-rails twitter-bootstrap

我有以下搜索表单:

          <%= bootstrap_form_for :search, url: admin_panel_users_path, method: 'get' do |f| %>
              <div class="row" style="margin-top: 15px; line-height: 25px;">
                <div class="col-md-2 text-center" style="margin-top: 6px; font-weight: bold">
                  <%= f.label :keyword%>
                </div>
                <div class="col-md-8">
                  <%= f.text_field :keyword, hide_label: true %>
                </div>
                <div class="col-md-2">
                  <%= f.submit 'Search User', hide_attribute_name: true, class: 'btn btn-success' %>
                </div>
              </div>
          <% end %>

然而,当我提交时,我在网址中收到了许多我不需要的参数,然后网址看起来像这样:

?utf8=✓&search%5Bkeyword%5D=&commit=Search+User

虽然我只想让网址像这样:

?keyword=mysearch

有没有办法用bootstrap gem做到这一点?另外,删除它所放置的隐藏的UTF字段

1 个答案:

答案 0 :(得分:1)

将表单传递给enforce_utf8为false。它最初是在Rails 3中添加的,用于解决使用GET请求提交的表单的IE兼容性问题。它被称为_snowman param。

  

:enforce_utf8 - 如果设置为false,则名为utf8的隐藏输入不是   输出

要删除提交参数,请使用submit_tag

传递name:nil
<%= f.submit 'Search User', name: nil, hide_attribute_name: true, class: 'btn btn-success' %>