导航栏中的Rails 4 Bootstrap搜索表单

时间:2015-12-17 04:08:21

标签: ruby-on-rails ruby twitter-bootstrap twitter-bootstrap-rails

我在Rails 4应用程序布局中呈现的标题部分中有一些rails-bootstrap-form代码:

<div class="navbar-form navbar-right">
  <%= bootstrap_form_tag controller: 'devices', action: 'index', method: 'get' do |f| %>
    <%= f.search_field :search, hide_label: true, placeholder: 'Search' %>
    <%= f.submit "Submit", :name => nil %>
  <% end %>
</div>

我希望此搜索表单始终对设备控制器的索引操作执行GET请求。搜索实际上并未链接到设备索引网址,它会将搜索参数附加到当前网址,如下所示:/devices/1?search=foo。由于它只是附加到当前网址,因此搜索工作正常/devices

我认为如果我将controller: 'devices', action: 'index', method: 'get'传递给bootstrap_form_tag,它会强制重写网址,但我没有运气。

1 个答案:

答案 0 :(得分:3)

我最终剥离了bootstrap_form_tag,我选择了标准form_tag。我不得不手动添加bootstrap表单类。

<%= form_tag(devices_path, method: 'get', class: 'navbar-form navbar-right') do %>
  <%= search_field_tag 'search', nil, class: 'form-control', placeholder: 'Search'  %>
  <%= submit_tag "Submit", class: 'btn btn-default', :name => nil %>
<% end %>

我认为bootstrap-forms gem可以节省时间,但绝对没有用于搜索。