Как я могу отправлять электронные письма в Rails 3, используя локаль получателя?

Как я могу отправлять письма в почтовой программе, используя язык получателя. У меня есть предпочтительный язык для каждого пользователя в базе данных. Обратите внимание, что это отличается от текущей локали (I18n.locale), если текущий пользователь не должен быть получателем. Поэтому труднее всего использовать почтовую программу в другом языковом стандарте без изменения I18n.locale:

def new_follower(user, follower)
  @follower = follower
  @user = user
  mail :to=>@user.email
end

Использование I18n.locale = @ user.profile.locale перед mail: to => ... решит проблему почтовой программы, но изменить поведение в остальной части потока.

24
задан Robert Harvey 22 August 2010 в 01:59
поделиться

1 ответ

Этот простой плагин был разработан для Rails 2, но, похоже, работает и в Rails 3.

http://github.com/Bertg/i18n_action_mailer

С его помощью вы можете делать следующее:

def new_follower(user, follower)
  @follower = follower
  @user = user
  set_locale user.locale
  mail :to => @user.email, :subject => t(:new_follower_subject)
end

Тема и почтовые шаблоны затем переводятся с использованием локали пользователя.

1
ответ дан 28 November 2019 в 22:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: