Ruby on RailsとRuby-GetText-Packageを使った日本語メールの送信

Ruby on RailsとRuby-GetText-Packageを使った日本語メールの送信について。

Ruby-GetText-Packageは、ブラウザからのアクセスでコントローラ経由を経由してメールを送信するときは、ちゃんとiso-2022-jpに変換してメールを送ってくれます。

ですが、モデルから直接メールを送信するときは、変換してくれません。

モデルに直接アクセスした場合は、コントローラ内に記述したinit_gettextが呼ばれないため、変換されないのだと思います。

そこで、メールを送信するメソッド内に次のコードを追加することで、直接モデルからメールを送信したときにも、変換されるようになりました。

  require 'gettext/rails'
  ActionController::Base.init_gettext "…"
  GetText.locale = "ja"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください