我想修复网址复制这样的网址。 http://localhost:3000/ja/shop/ja/products/apache-baseball-jersey/'
前几天,我在我的Rails应用中使用spree_i18n设置了狂欢。 并像这样设置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
我的默认语言环境是英语,支持的语言环境是日语。 理想的网址类似于“ https://somedomain/(locale)/product”。
那我该怎么办?
答案 0 :(得分:0)
在我看来,像Spree的引擎和spree_i18n
已经在处理基于语言环境的路由一样。
删除scope "(:locale)", locale: /en|ja/
应该删除重复项。
如果您希望将“ https://somedomain/(locale)/product”作为您的URL,则意味着从中删除“ / shop”。您可以通过在下面的根目录上直接安装spree的引擎来实现:mount Spree::Core::Engine, at: '/
。请注意,这样做,您添加的任何路线都可能与引擎定义的路线发生冲突。