Rails 3 - Как мне избавиться от "test.host"? - PullRequest
4 голосов
/ 21 июня 2011

Я недавно установил плагин Гретель , чтобы позаботиться о панировочных сухарях для меня.Кажется, что он работает отлично, за исключением того, что он ломает некоторые мои спецификации со следующей ошибкой:

 Failure/Error: response.should redirect_to @course
 Expected response to be a redirect to </courses/904> but was a redirect to
 <http://test.host/courses/904>

Что я могу сделать, чтобы избавиться от этой ошибки? путь кажется совершенно правильным, за исключением этой надоедливой вещи test.host.

Ответы [ 2 ]

5 голосов
/ 21 июня 2011

Вы, вероятно, тестируете против my_model_url вместо my_model_path

Первый делает полный URI - включая хост. Последний является относительным путем без хоста.

Пойдите, проверьте ваш контроллер и посмотрите, использует ли он _path или _url - и используйте тот же самый в ваших тестовых случаях.

1 голос
/ 28 июня 2012

Вам нужно явно определить тело вашего запроса. Вот у меня есть Приложение, которое использует rails 3.0 ... Я использую Devise для аутентификации ... и я получаю настроенный домен, который указывает пользователь.

#get user from fixtures OR create them

  @user = users(:user1)

  #used devise "sign_in for testing"

    sign_in :user, @user  
  #defined my request

   request.host = 'myblog.free-blog.com'

  #get 'show_blog"

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