Tengo una aplicación que usa subdominios para cambiar bases de datos (multi-tenancy). Intento usar Capybara para las pruebas de integración, y realmente depende mucho de los subdominios.Carpincho con subdominios - default_host
Según entendí, la configuración de Capybara.default_host=
haría que todas mis solicitudes provinieran de este host. Esto no parece ser el caso. En this post, el autor recomienda simplemente visitar la URL explícita con un host, pero esto se vuelve un poco molesto si estoy navegando por todos lados. Me gustaría simplemente configurar el host, luego poder usar mis rutas de los raíles como se esperaba. No está seguro de lo que estoy haciendo mal, pero aquí es lo que he intentado:
# spec_helper.rb
RSpec.configure do |config|
config.before(:each, :type => :request) do
Capybara.default_host = 'http://app.mydomain.com'
end
end
# in some_integration_spec.rb
before do
puts "Capybara.default_host: #{Capybara.default_host}"
puts "some_app_url: #{some_app_url}"
end
Esto produce la salida:
Capybara.default_host: http://app.mydomain.com
some_app_url: http://www.example.com/some_path
¿Qué estoy haciendo mal? default_host
parece no hacer nada. Como digo, no quiero tener que decir visit(Capybara.default_host + some_app_path)
ya que es un poco molesto cada vez. ¿Por qué más existe esta opción default_host?
Tal vez podría ser útil a alguien [mi respuesta a esta pregunta] (http://stackoverflow.com/a/18476731/895789) –