Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

358
Vistas
Establecer el parámetro predeterminado para algunas solicitudes de rspec
Contexto:

Algunas de nuestras rutas de rieles necesitan una configuración regional para generar la URL (por ejemplo, domain.com/en/courses ), mientras que el controlador base (para domain.com ) no usa la configuración regional. Lo configuramos agregando la configuración regional en default_url_options del controlador derecho.

Problema:

Pero cuando lo pruebo en Rspec, aparece un error de missing required keys que solicita la configuración regional. Cuando agrego un parámetro de configuración regional en la especificación, visit course_path(@course, locale: :en) todo vuelve a la normalidad... ¡pero tenemos MUCHAS especificaciones!

Primeros intentos:

Intenté usar el método default_url_option en ActionView::TestCase::TestController y ActionDispatch::Routing::RouteSet así

 class ActionView::TestCase::TestController def default_url_options(options = {}) { locale: I18n.default_locale } end end class ActionDispatch::Routing::RouteSet def default_url_options(options = {}) { locale: I18n.default_locale } end end

Pero estableció la configuración regional para toda la aplicación, no solo para algunas rutas específicas...

Pregunta:

¿Hay alguna manera de establecer un parámetro predeterminado para algunas rutas en el soporte de rspec?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Primera solución

en el controlador de aplicaciones

 if Rails.env.test? before_action :set_default_locale private def set_default_locale I18n.locale = params.fetch(:locale, :en) end end

se que no es la forma correcta

no actualiza su aplicación en el nivel de rspec, pero hasta ahora esto es lo que puedo pensar en mi cabeza


Segunda solución alternativa

Actualización en el nivel de ruta

 if Rails.env.test? defaults = { locale: :en } else defaults = {} end scope "(:locale)", :locale => /en|id/, :defaults => defaults do
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda