Ich schreibe gerade einen Mailer in RoR 3.2, der Mails versenden würde, die basierend auf der Sprache eines Benutzers lokalisiert werden sollten. Es ist mir gelungen, die richtigen lokalisierten Ansichten darzustellen, aber ich habe einige Schwierigkeiten mit einigen Feldern, die das Gebietsschema ändern müssen (wie der Betreff). Ich habe bereits einige Beiträge gelesen, die das Ändern der Ländereinstellung vor dem Senden der E-Mail nicht zulassen. Die Benutzer haben viele verschiedene Sprachen und das bedeutet, dass ich mein Gebietsschema jedes Mal ändern muss, wenn ein Benutzer eine E-Mail erhält.
Ich weiß, dass es möglich wäre, das Gebietsschema zu ändern, die E-Mail zu senden, das Gebietsschema zu ändern. Das fühlt sich nicht wie die Schienen an. Gibt es einen richtigen Weg, dies zu tun?
Hier ist ein Ausschnitt:
%Vor%Meine Ansichten
%Vor%Kurz gesagt, in diesem Fall möchte ich das: subject mit dem @ locale lokalisieren, aber nicht mit: I18n.locale = locale
Es ist in Ordnung, das globale Gebietsschema vorübergehend zu ändern. Dafür gibt es eine handliche I18n.with_locale-Methode. Auch ActionMailer übersetzt automatisch ein Thema.
%Vor%Im Gebietsschema:
%Vor%Rails 4-Wege :
%Vor%default_i18n_subject - Übersetzt den Betreff mithilfe der Rails I18n-Klasse unter [mailer_scope, action_name] Bereich. Wenn keine Übersetzung für das Thema im angegebenen Bereich gefunden wird, wird standardmäßig eine humanisierte Version von action_name verwendet. Wenn das Objekt Interpolationen enthält, können Sie sie über den Interpolationsparameter übergeben.
Tags und Links ruby-on-rails-3 actionmailer