Я использую Ruby on Rails 3.1, и я хотел бы знать, как правильно обрабатывать интернационализацию, связанную с почтовой программой. То есть ...
... в моем app/views/users/mailer/_custom.html.erb
файле, который у меня есть:
...
<%= @test_email.to_s %>
...
... в моем app/mailers/users/mailer.rb
файле, который у меня есть:
class Users::Mailer < ActionMailer::Base
def custom(user)
...
@test_email = t('test_email')
# I also tried to use '@test_email = I18n.t('test_email')'
end
end
При использовании приведенного выше кода текст @test_email.to_s
не отображается (кажется, что он пустой) в отправленном электронном письме, а I18n gem , кажется, не выполняет правильно то, что должно быть сделано. Как я могу решить эту проблему, чтобы правильно отобразить локальное сообщение в «нацеленном» теле письма?
ОБНОВЛЕНИЕ для @ Владимир
Код, который вы разместили в своем ответе, не работает для меня. Я также попытался добавить следующий код в мой файл config/locales/defaults/en.yml
:
en:
hello: Test text!!!
Test text!!!
по-прежнему не отображается в отправленном электронном письме (оно пустое).