diff options
author | Olek Janiszewski <olek.janiszewski@gmail.com> | 2013-01-23 19:22:39 +0100 |
---|---|---|
committer | Olek Janiszewski <olek.janiszewski@gmail.com> | 2013-01-24 15:29:24 +0100 |
commit | 57bfbc249e2af753163788d07ac7a658b4f5484a (patch) | |
tree | d3ee35a6083d7b3cd393dd8ff2e818031799f792 /actionmailer/lib | |
parent | 1b75b94de6d474d56a6c47e74bdbd985ec14087b (diff) | |
download | rails-57bfbc249e2af753163788d07ac7a658b4f5484a.tar.gz rails-57bfbc249e2af753163788d07ac7a658b4f5484a.tar.bz2 rails-57bfbc249e2af753163788d07ac7a658b4f5484a.zip |
Allow passing interpolations to `#default_i18n_subject`, e.g.:
# config/locales/en.yml
en:
user_mailer:
welcome:
subject: 'Hello, %{username}'
# app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
def welcome(user)
mail(subject: default_i18n_subject(username: user.name))
end
end
Diffstat (limited to 'actionmailer/lib')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index 9ba606c045..c4d2950abd 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -726,9 +726,10 @@ module ActionMailer # Translates the +subject+ using Rails I18n class under <tt>[mailer_scope, action_name]</tt> scope. # If it does not find a translation for the +subject+ under the specified scope it will default to a # humanized version of the <tt>action_name</tt>. - def default_i18n_subject #:nodoc: + # If the subject has interpolations, you can pass them through the +interpolations+ parameter. + def default_i18n_subject(interpolations = {}) mailer_scope = self.class.mailer_name.tr('/', '.') - I18n.t(:subject, scope: [mailer_scope, action_name], default: action_name.humanize) + I18n.t(:subject, interpolations.merge(scope: [mailer_scope, action_name], default: action_name.humanize)) end def collect_responses(headers) #:nodoc: |