/ / Як отримати Rails root_path для переадресації на / en / locale? - рубіни на рейках, інтернаціоналізація, місцевість, рейки -189

Як отримати root_path Rails для перенаправлення на / en / locale? - рубіни на рейках, інтернаціоналізація, місцевість, рейки -189

У мене є додаток, доступний в EN та DE. Наразі, коли ви вводите веб-сайт www.example.com він не переспрямовує на стандартний регіон. В ідеалі, я б хотів, щоб root відразу переадресовував, так що я отримую: www.example.com/en.

Коли я натискаю посилання root_path у додатку, він йде на головну сторінку, що включає мову www.example.org/en як і очікувалося.

Запитання: як я можу забезпечити користувачів, які входять www.example.com переспрямовується на www.example.com/en відразу

Маршрути:

Rails.application.routes.draw do
scope "(:locale)", locale: /en|de/ do
root "pages#landingpage"

Контроль додатків:

def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end

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

Відповіді:

0 для відповіді № 1

Перш за все, будь ласка, пройдіть через це Настанови з інтернаціоналізації

Тепер спробуйте це в маршрутах:

scope "(/:locale)" {}

і використовуйте config.default_locale опція в конфігурації. ви можете налаштувати fallback для локалізації.

якщо ви використовуєте файли cookie для відстеження вашого мови, ви можете пропустити default_url_options, вам доведеться завжди зберігати нелікалізовані версії для зворотної сумісності.