Festlegen von default_url_options für die Mounted Rails-Engine

Verwendung der Schienen 3.2.13 und Spree 2.0.2
Ich bin auf ein ähnliches Problem gestoßen wie inSchienenmontierbarer Motor mit dynamischem Anwendungsbereich

Meine Routen:

scope ':locale', locale: /en|jp/ do
  mount Spree::Core::Engine, at: '/store'
  root to: 'home#index'
end

Ich möchte einen Link ausgeben, um das Gebietsschema zu ändern:

<%= link_to 'JP', url_for(locale: :jp) %>

aber das gibt aus:

<a href="/en/store/?locale=jp">JP</a>

statt erwartet:

<a href="/jp/store">JP</a>

- Bearbeiten -

Wenn ich mich dazu stelleApplicationController:

def default_url_options(options={})
  { locale: I18n.locale }
end

Dabei werden die Parameter für das Gebietsschema zweimal gespeichert, anstatt sie zusammenzuführen:

http://localhost:3000/en/store/products/bag?locale=en

Antworten auf die Frage(1)

Ihre Antwort auf die Frage