Motor de raíles de montaje bajo un alcance dinámico.

Di que tengo estas rutas:

scope '(:locale)', :locale => /en|de/ do
  mount Users::Engine => "users", as: 'users_engine'  
end

y en la vista del motor:

<%= link_to 'new user', action: :new, controller: :users, locale: :de %>

yo obtengo

/en/users/users/new?locale=de 

en lugar de

/de/users/users/new

Ya he incluido en el controlador de la aplicación:

def set_locale
  if params.include?('locale')
    I18n.locale = params[:locale]
    Rails.application.routes.default_url_options[:locale] = I18n.locale
  end
end

y funciona bien en la aplicación principal

He encontrado una manera de obtener la url correcta por

Users::Engine.routes.url_for controller: 'users/users', action: :new, only_path: true, locale: :de

pero creo que debería haber una mejor manera y, ¿y si estuviera haciendo un enlace de cambio de configuración regional en el diseño?

<%= link_to locale: :de %>

No puedo saber qué motor exacto podría ser

Gracias vm.

Respuestas a la pregunta(1)

Su respuesta a la pregunta