2014-12-31 2 views
0

Я создал пользовательский поиск в навигационной панели, которая отправляет мое действие по индексу, которое отлично работает, когда я нахожусь в своем индексном представлении. Но как только я нахожусь в другом представлении, параметры правильно представлены, но мне нужно перенаправить на мой индекс. До сих пор я не мог понять это. Любая помощь будет ОЧЕНЬ оценена!Перенаправление после формы поиска submit Rails 4

Моя функция поиска в моей модели

def self.search(search_option, search_text) 
    where("#{search_option} like ?", "#{search_text}%") 
end 

контроллер:

def index 
    if params[:search_text] 
    @books = Book.search(params[:search_option].downcase, params[:search_text].capitalize) 
    else 
    @my_books = current_user.books 
    end 
end 

форму поиска в виду:

<%= form_tag books_path, method: :get do %> 
    <div class="form-group"> 
     <% options_array = ["Genre","Category"] %> 
     <%= select_tag :search_option, options_for_select(options_array), class: "btn btn-default dropdown-toggle select-options" %> 
     <%= text_field_tag :search_text, params[:search], class: "form-control" %> 
    </div> 
    <%= submit_tag "Search", :name=>nil, class: "btn btn-default" %> 
    <% end %> 
+0

Что происходит, когда вы нажимаете кнопку «Поиск» с другой страницы - отличается от страницы индекса? –

+0

вы можете добавить перенаправление обратно на индексную страницу при попадании на контроллер – MZaragoza

ответ

1

Real новой ошибкой разработчиков здесь, но проблема была я ставя мою форму поиска в панель навигации Bootstrap, внутри существующих тегов <form></form>. Это короткое замыкание в моем поиске. Удалены те, и это сработало так, как ожидалось!