У меня есть таблица списков, с моделью списков и классом листингов_контроллера. Я написал метод, который требует 2 параметра: широта и долгота. Затем он получает списки, которые находятся примерно в 5 км от этой координаты. В листинге-контроллере это тот метод, который я написал:
def around
lat = params[:latitude]
long = params[:longitude]
@surroundings = Listing.where("latitude = ? and longitude = ?", lat, long)
end
Что я хотел бы сделать, так это настроить URL-адрес в моем файле rout.rb, который при вызове клиентским браузером предоставит широту и долготу в качестве 2-х параметров. Параметр No: id может быть предоставлен, так как клиентский браузер не знает id и более того, в базе данных может отсутствовать какая-либо запись с точным соответствием координатам. Помните, я ищу только списки с указанными координатами.
Так как мне написать это в файле маршрутов?
Вот вывод моей команды "rake routs"
listings / listings#index
GET /listings(.:format) listings#index
POST /listings(.:format) listings#create
new_listing GET /listings/new(.:format) listings#new
edit_listing GET /listings/:id/edit(.:format) listings#edit
listing GET /listings/:id(.:format) listings#show
PUT /listings/:id(.:format) listings#update
DELETE /listings/:id(.:format) listings#destroy
/:controller(/:action(/:id))(.:format) :controller#:action
А вот так выглядит мой файл rout.rb:
Businesses::Application.routes.draw do
root to: 'listings#index', as: 'listings'
resources :listings
match ':controller(/:action(/:id))(.:format)'
Это то, что я надеялся использовать в качестве строки URL-адреса из браузера клиента:
http://localhost:3000/listings/around?latitude=XXX&longitude=XXXX
Буду признателен за любую помощь