0

Я заканчиваю различные локализации моего сайта, и у меня возникла небольшая проблема в шаблонах электронной почты Devise.Devise - Как перевести автогенерируемые ссылки

В подтверждение по электронной почте, например, я перевел все это, но ссылка для подтверждения аккаунта будет автоматически генерируется с использованием этого фрагмента:

<%= link_to t('devise.mailer.confirmation_instructions.confirm_link'), confirmation_url(@resource, :confirmation_token => @token) %> 

Эта автогенерируемая указывает ссылка всегда на мой .com веб-версии и Я хочу, чтобы он был условным в зависимости от домена (.com/.es). Когда связь не автогенерируемая я могу добиться этого с помощью:

if request.host.split('.').last == "com" 

или

if request.host.split('.').last == "es" 

Но в данном случае я не знаю, как я могу это сделать.

Любое предложение?

Спасибо.

+0

Вы как-то сохраняете текущую настройку языка? – Bartosz

+0

Вы можете передать параметр ': host' в помощник' url'. – Bartosz

+0

У меня есть столбец в пользовательской таблице, в которой я храню язык браузера от пользователя. Как я могу передать: host param? <% = link_to t ('devise.mailer.confirmation_instructions.confirm_link'), confirm_url (@resource,: confirm_token => @token,: host => 'www.example.com')%> таким образом? –

ответ

1

Вы можете добавить: хозяин параметров к вашему confirmation_url (@Resource,: confirmation_token => @token), и искать правильный хозяин в вашем переводе таблице:

confirmation_url(@resource, :confirmation_token => @token, host: t('host')) 

В файле YAML, вы «перевести» правильный хост для данного пользователя, например

en: 
    host: 'www.example.com' 

 Смежные вопросы

  • Нет связанных вопросов^_^