У меня есть модель (Show
) в Rails, доступ к которой осуществляется через субдомен, а не стандартный URL REST. В файле app/helpers/url_helper.rb
У меня есть следующий метод:Переопределение URL-адресов в Rails
def show_url(show)
root_url(subdomain: show.subdomain)
end
В контроллерах, это работает отлично. Я могу проверить его с помощью puts show_url(@show)
и выводит subdomain
шоу, как ожидалось: http://test.example.com
. Однако в тестах интеграции этот метод не работает, и вместо него используется значение по умолчанию, созданное рельсами. Если я запустил puts show_url(@show)
, я просто получаю http://example.com
. Как использовать этот настраиваемый URL-адрес в моих интеграционных тестах?
Edit:
routes.rb
раздел относительно этого субдомена вещи:
constraints(lambda do |request|
request.subdomain.present? && request.subdomain != 'www'
end) do
get '/' => 'shows#show', as: :show
get '/edit' => 'shows#edit', as: :edit_show
end
Это основано свободно вокруг Railscast on subdomain matching.
Это может помочь ... http://stackoverflow.com/questions/4160417/how-to-import-rails-helpers-in-to-the-functional-tests –
Я не получаю многого от этого вопроса , Моя проблема заключается не в проверке помощника URL (у меня есть тесты для этого, которые работают нормально), а в частности, что вспомогательный метод недоступен в тестах интеграции (однако версия по умолчанию, созданная Rails). – RedBassett
А, ладно ... может, этот вопрос работает на вас? http://stackoverflow.com/questions/6721952/rails-helpers-not-working-in-test-environment – jemminger