Rails поиск по БД и рендеринга шоу-страницы, которые соответствуют результатам - PullRequest
0 голосов
/ 04 октября 2018

Таким образом, у меня есть местоположения с несколькими почтовыми индексами, связанными с ними.Например Сиэтл - 10001, 10002, 10003, 10004;Детройт - 30001, 30002, 30003, 30004 и т. Д.

Я пытаюсь сделать поле поиска на своей домашней странице для поиска по почтовому индексу.Пользователь вводит почтовый индекс и нажимает кнопку «Отправить».Затем цель состоит в том, чтобы перенаправить страницу на то, что соответствует вводу.Итак, введенный 30002 отправляет пользователя в Детройт.

Моя мысль заключалась в том, чтобы создать поиск по модели и использовать индекс для контроллера.

class ZipcodesController < ApplicationController
  respond_to :html, :json

  def index
    @zipcodes = Zipcode.search(params[:search])
  end

  private

  def zipcode_params
    params.require(:zipcode).permit(:search)
  end
end

В моей модели:

class Zipcode < ApplicationRecord
  scope :ordered, -> { order(zipcode: :desc) }
  belongs_to :location
  validates :zipcode, presence: true

  def self.search(search)
    if search
      zipcode = Zipcode.find_by(zipcode: search)
      if zipcode
        self.where(zipcode_id: zipcode)
      else
        Zipcode.all
      end
    else
      Zipcode.all
  end
end

Итак, мой вопрос: как мне перенаправить на страницу результатов поиска?Должен ли я положить его в метод поиска?

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