Есть ли способ проверить, что все действия контроллера, как определено в config/routes.rb
и выставлено rake routes
, действительно соответствуют существующему действию контроллера?
Например, предположим, у нас есть следующие маршрутыfile:
Application.routes.draw do
resources :foobar
end
И следующий контроллер:
class FoobarsController < ApplicationController
def index
# ...
end
def show
# ...
end
end
Я бы хотел иметь какой-то способ автоматического определения того, что create
, new
, edit
Действия update
и destroy
(как неявно определены в маршрутах) не сопоставлены действительному действию контроллера - поэтому я могу исправить файл routes.rb
:
Application.routes.draw do
resources :foobar, only: [:index, :show]
end
Проверка целостности«из маршрутов, если хотите.
Такая проверка не обязательно должна быть совершенной ;Я мог легко проверить любые ложные срабатывания вручную.(Хотя «идеальная» проверка была бы идеальной, так как она могла бы быть включена в набор тестов!)
Моя мотивация здесь состоит в том, чтобы не вызывать AbstractController::ActionNotFound
исключений, вызванных хитрыми запросами API, поскольку дополнительные маршруты былинепреднамеренно определено (в большом приложении).