Ruby on Rails 3.2 Mailer, lokalisieren Sie das Feld für den Betreff der Mail

Momentan schreibe ich einen Mailer in RoR 3.2, der Mails versendet, die basierend auf der Sprache des Benutzers lokalisiert werden sollten. Ich habe es geschafft, die korrekten lokalisierten Ansichten zu rendern, aber ich habe einige Probleme mit einigen Feldern, bei denen das Gebietsschema geändert werden muss (wie das Thema). Ich habe vor dem Versenden der E-Mail bereits einige Beiträge gelesen, die gegen eine Änderung des Gebietsschemas sind. Die Benutzer haben viele verschiedene Sprachen und das würde bedeuten, mein Gebietsschema jedes Mal zu ändern, wenn einem Benutzer eine E-Mail gesendet wird.

Ich weiß, dass es möglich wäre, das Gebietsschema zu ändern, die E-Mail zu senden und das Gebietsschema zurückzusetzen. Das fühlt sich nicht wie auf Schienen an. Gibt es einen richtigen Weg, dies zu tun?

Hier ist ein Ausschnitt:

class AuthMailer < ActionMailer::Base
  add_template_helper(ApplicationHelper)
  default :from => PREDEF_MAIL_ADDRESSES::System[:general]

  [...]

  def invite(address, token, locale)
    @token = token
    @locale = locale
    @url = url_for(:controller => "signup_requests", :action => "new", :token => token.key, :locale => locale)

    mail(:subject => "Invitation", :to => address) do |format|
      format.html { render ("invite."+locale) }
      format.text { render ("invite."+locale) }
    end
  end

  [...]
end

Meine Ansichten

auth_mailer
  invite.en.html.erb
  invite.en.text.erb
  invite.it.html.erb
  invite.it.text.erb
  ...

Kurz gesagt, in diesem Fall möchte ich das Thema: mithilfe von @locale lokalisieren, aber nicht mithilfe von: I18n.locale = locale

Antworten auf die Frage(3)

Ihre Antwort auf die Frage