Таким образом, у меня есть местоположения с несколькими почтовыми индексами, связанными с ними.Например Сиэтл - 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
Итак, мой вопрос: как мне перенаправить на страницу результатов поиска?Должен ли я положить его в метод поиска?