【发布时间】:2017-05-27 13:21:55
【问题描述】:
我对 Rails 很陌生,在我的应用程序中实现搜索栏时遇到了问题。这个搜索栏存在于我的应用程序的每个页面中,但是它仅在我在根页面中搜索时才有效。如果我单击其他页面中的搜索按钮,该页面将不会被重定向到主页/索引并执行搜索。
下面是我的控制器/home_controller.erb(root_path 是 home#index):
class HomeController < ApplicationController
def index
if params[:display]
@promos = Promo.where(category: params[:display]).order(created_at: :desc)
elsif params[:search]
@promos = Promo.search(params[:search]).order(created_at: :desc)
else
@promos = Promo.all.order(created_at: :desc)
end
end
end
以下是我的观点/application.html.erb
<form class="search_bar">
<div class="input-group">
<%= form_tag(root_path, :method => "get", :controller => "home" ) do %>
<%= text_field_tag :search, '', placeholder: "Search Promos", class: "form-control search-input" %>
<%= button_tag(type: 'submit', class: "btn btn-default") do %>
<i class="glyphicon glyphicon-search"></i>
<% end %>
<% end %>
</div>
</form>
谁能帮我解决这个问题?我主要想实现重定向到根页面并执行搜索动作。但是,如果在实现相同效果的同时实现此逻辑的任何其他选项,我也将不胜感激。
谢谢!!
【问题讨论】:
标签: ruby-on-rails search