0

У меня есть некоторый rails-bootstrap-form код в заголовок частичного, который визуализируется в макете 4 приложения Rails:Rails 4 Bootstrap Форма поиска в Navbar

<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 запрос на устройствах действие индекса контроллера. Поиск на самом деле не ссылается на url индекса устройств, он добавляет параметр поиска к текущему URL-адресу: /devices/1?search=foo. Поскольку он просто добавляется к текущему URL-адресу, поиск работает отлично с /devices.

Я думал, что если я перейду в controller: 'devices', action: 'index', method: 'get' в bootstrap_form_tag, это заставит URL-адрес переписать, но мне не повезло.

ответ

3

В итоге я удалил bootstrap_form_tag, и я пошел со стандартом form_tag. Мне пришлось добавлять классы начальной загрузки в ручную.

<%= 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 %> 

Я думал, что самоцветов самонаводят экономию времени, но это определенно не для поиска.

+0

Согласен - стандартный тег формы с классом был намного проще. – Brett