Не найдено ни одного маршрута, хотя маршрут составлен - PullRequest
0 голосов
/ 26 марта 2019

Я следую следующему уроку, https://www.dailysmarty.com/posts/how-to-add-search-functionality-into-a-rails-api-application.

После завершения всего урока я понял, что нет маршрута, соответствующего "/ search".В руководстве не указывалось, как создавать маршруты, поэтому я попытался создать один сам, создав следующее:

    Rails.application.routes.draw do
      resources :search, only: [:search]
    end

Ответы [ 2 ]

2 голосов
/ 26 марта 2019

Это не то, что вы хотите. Вам нужен маршрут, подобный следующему:

get '/your_route', to: 'your_controller#your_action'

Итак, в вашем случае поиск не является ресурсом. Поэтому я бы использовал:

get '/search', to: 'search#search'

Вы можете найти всю эту информацию о маршрутизации в направляющих .

Надеюсь, это поможет!

0 голосов
/ 26 марта 2019

Обновление:

В соответствии с руководством необходимо посетить yoururl.com/search

. В этом случае лучше использовать решение, предоставленное @jeremie

get '/search', to: 'search#search'

Это сгенерирует

             search GET    /search(.:format)               search#search

Используемый вами формат неверен.

only: поддерживает только семь действий по умолчанию -> индексировать, показывать, создавать новые, создавать, редактировать, обновлять и уничтожать больше ...

Для пользовательских маршрутов вам нужно изменить его на следующий

Rails.application.routes.draw do
  resources :search, only: [] do
    get :search, on: :collection 
  end
end

Это сгенерирует следующий маршрут

search_search_index GET    /search/search(.:format)        search#search
...