我在导航栏中构建了一个自定义搜索,提交到我的索引操作,当我处于索引视图时,该操作很有效。但是一旦我处于不同的视图中,params被正确提交,但我需要重定向到我的索引视图。到目前为止,我一直无法弄明白。任何帮助都会非常感激!
我的模型中的搜索功能
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 :(得分:1)
真正的新开发者错误在这里,但问题是我将我的搜索表单放入现有<form></form>
标记内的Bootstrap导航栏中。这是我的搜索短路。删除了那些,并且它按预期工作!