Как мне работать с локалью URL в Spree i18n? - PullRequest
0 голосов
/ 04 мая 2019

Я хотел бы исправить дублирование локали URL следующим образом. http://localhost:3000/ja/shop/ja/products/apache-baseball-jersey/'

На днях я установил веселье с помощью spree_i18n в моем приложении rails. И установите Gemfile следующим образом.

# Spree
gem 'spree', '~> 3.7.2'
gem 'spree_gateway', '~> 3.4'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n'
gem 'spree_globalize', github: 'spree-contrib/spree_globalize'
gem 'spree_paypal_express', github: 'spree-contrib/better_spree_paypal_express'

Кроме того, вот мои маршруты.

Rails.application.routes.draw do
scope "(:locale)", locale: /en|ja/ do
   get '/' => 'frontpage#index'
   mount Spree::Core::Engine, at: '/shop

Моим языком по умолчанию является английский, а поддерживающим языком является японский. Идеальный URL-адрес как 'https://somedomain/(locale)/product'.

Так как мне поступить?

1 Ответ

0 голосов
/ 04 мая 2019

Дубликат локали

Мне кажется, что движок Spree и spree_i18n уже обрабатывают маршрутизацию на основе локали.

Удаление scope "(:locale)", locale: /en|ja/ должно удалить дубликат.

Удаление «/ shop»

Если вы хотите, чтобы «https://somedomain/(locale)/product'» был вашим URL, то это означает удаление «/ shop» из него.Вы можете сделать это, установив двигатель spree прямо на корень: mount Spree::Core::Engine, at: '/.Помните, что при этом любой добавленный вами маршрут может конфликтовать с тем, который определен движком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...