Как добавить маршрут из приложения Rails - PullRequest
1 голос
/ 20 июля 2010

Привет, я пишу спецификацию, и мне нужно настроить тестовый маршрут изнутри спецификации, однако, когда я использую Rails :: Application.routes.draw, он перезаписывает все остальные маршруты.

Есть ли способ сделать это в рельсах 3?

Приветствия

Дан

1 Ответ

0 голосов
/ 20 июля 2010

Общее решение состоит в том, чтобы использовать какой-либо метод для фактического переключения нашего набора маршрутов, а именно: использовать насмешку или просто создать область действия, которая использует маршруты, для возврата нового ActionDispatch :: Routing :: RouteSet.new - это предотвращает вас от использования маршрутов по умолчанию, но в сценарии, где вы тестируете что-то, что вращается вокруг маршрутов, это работает отлично.

Если, альтернативно, вы тестируете код, например Помощники, которые используют маршрут, вам нужно будет либо сохранить состояние маршрутов, либо что-то подобное, чтобы предотвратить их очистку. Если вы сомневаетесь, я предлагаю взглянуть на код ActionDispatch и тесты (например, http://github.com/rails/rails/blob/master/actionpack/test/dispatch/url_generation_test.rb)

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