Рельсы Удалить определенные маршруты - PullRequest
2 голосов
/ 26 декабря 2011

У меня есть приложение rails, и у меня есть несколько пользовательских маршрутов. У меня есть база данных под названием Отчеты. В моем rout.rb у меня есть match '/new' => 'reports#new', однако проблема в том, что / new идет в нужное место, но / reports / new также все еще активен. Есть ли способ «деактивировать» стандарт / отчеты / новый, чтобы работал только / новый?

Ответы [ 2 ]

5 голосов
/ 26 декабря 2011

Если вы заинтересованы только в отключении одного действия, except может быть более подходящим, чем only. Работает аналогичным образом.

... :except => :new

http://guides.rubyonrails.org/routing.html#restricting-the-routes-created

5 голосов
/ 26 декабря 2011

Конечно, есть.Вы можете использовать опцию only, как в (например):

resources :reports, :only => [:create, :edit, :update]

, которая определяет маршруты только для указанных действий (запустите rake routes, чтобы увидеть все маршруты) (так что это не удалить маршрутов, он просто не генерирует их)

Редактировать: Плюс, конечно, есть также опция except (также см. @Andy Gaskell's anwers) - которая генерирует все маршруты, кромеданные действия см. в документах .

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