Поиск не отвечает отфильтрованным результатом - PullRequest
0 голосов
/ 08 мая 2020

Все,

пожалуйста, помогите с простой функцией ... Не могу определить ошибку. Итак, это моя простая пользовательская история

Ожидается: Как пользователь я хочу получить список результатов на основе моих критериев поиска (например, заголовок, описание)

Актуально: Что я получаю :-( Всегда полный список контактов, а не отфильтрованный.

Для этого я использую драгоценные камни 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:

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

1 Ответ

0 голосов
/ 08 мая 2020

Вы передаете search параметры, в то время как в контроллере вы ожидаете query параметр и, таким образом, проверяете, присутствует ли params[:query] или нет

Поэтому замените params[:query] на params[:search] в вашем контроллере или измените имя поля ввода на query в форме поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...