搜索不回复过滤结果

问题描述 投票:0回答:1

所有。

请帮我解决一个简单的功能......我不能确定错误,所以这是我的简单用户故事。

期待。 作为一个用户,我想根据我的搜索条件(如标题、描述)得到一个结果列表。

实际。 我得到的是:-( 总是完整的引脚列表,而不是过滤后的列表。

为此,我使用了gems pg_search,我的视图是用HAML写的。

application.html.haml包括搜索栏。

.container
  = form_tag pins_path, method: :get, class: "search", role: "search" do
    .container
  = form_tag pins_path, method: :get, class: "navbar-form navbar-right", role: "search" do
    %p
      = text_field_tag :search, params[:search], class: "form-control"
      = submit_tag "Search", name: nil, class: "btn btn-default"

pins_controller.最后是index.html.haml

def index
  if params[:query].present?
    @pins = Pin.search_for(params[:query])
  else
    @pins = Pin.all.order("created_at DESC")
  end   
end

最后是index.html.haml:

- @pins.each do |pin|
  .box.panel.panel-default
    = link_to (image_tag pin.image.url), pin
    .panel-body
      %h2= link_to pin.title, pin
      %p.user
      Submitted by
      = pin.user.email
ruby-on-rails ruby search pg-search
1个回答
0
投票

你正在传递 search params,在控制器中,你期望的是 query 参数,并以此检查 params[:query] 有无

所以替换为 params[:query]params[:search] 或将您的输入文件名改为 query 在您的搜索表中。

© www.soinside.com 2019 - 2024. All rights reserved.