私はRuby on Rails 3.1を使用しています。メーラに関連する国際化を正しく処理する方法を知りたいと思います。メーラでi18n gemを使用する際のトラブル
上記のコードを使用することにより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
:私は私のapp/mailers/users/mailer.rb
ファイルに...
...
<%= @test_email.to_s %>
...
:それは私が持っている私のapp/views/users/mailer/_custom.html.erb
ファイルに...、...
です@test_email.to_s
送信されたメールにテキストが表示されず(空白に見える)、I18n gemは何をすべきか正しく実行していないようです。 "目的"のメール本文にロケールメッセージを正しく表示するには、どうすれば問題を解決できますか?あなたはあなたの答えに投稿されたコードは、私のために動作しません
@volodymyrため
UPDATE。
en:
hello: Test text!!!
Test text!!!
はまだ(それが空白になって)送信される電子メールに表示されていません。私は私のconfig/locales/defaults/en.yml
ファイルに次のコードを追加することも試みました。試験のため
# Fragment of mailer
def test_locale
@test_email = I18n.t('hello')
mail(:to => "<your_email_goes_here>", :subject => "test")
end
# Contents of test_locale.html.erb
String, retrieved from I18n: <%= @test_email %>
私はRailsのコンソールを使用する:ここ
引用符で囲んでください。例: en: hello: "テストテキスト" –
@volodymyr - 問題は引用符に関連していませんでした。 – user12882