Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

357
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!