在默認情況下,邀請郵件的主題是更改devise_invitable郵件主題
mailer:
invitation_instructions:
subject: 'Invitation instructions'
我想將其更改爲
subject: '%{invited_by} has invited you!'
但是這需要有invited_by變量訪問的翻譯方法爲i18n。
如何在不更改默認行爲的情況下訪問/聲明此變量?
在默認情況下,邀請郵件的主題是更改devise_invitable郵件主題
mailer:
invitation_instructions:
subject: 'Invitation instructions'
我想將其更改爲
subject: '%{invited_by} has invited you!'
但是這需要有invited_by變量訪問的翻譯方法爲i18n。
如何在不更改默認行爲的情況下訪問/聲明此變量?
制定默認郵件不會爲你工作,但它很容易建立一個自定義的郵件程序,並定義有自己的subject_for幫手:
# in config/initializers/devise.rb:
...
config.mailer = "CustomDeviseMailer"
...
# in app/mailers/custom_devise_mailer.rb:
class CustomDeviseMailer < Devise::Mailer
protected
def subject_for(key)
return super unless key.to_s == 'invitation_instructions'
I18n.t('devise.mailer.invitation_instructions.subject',
:invited_by => resource.invited_by.try(:full_name) || 'Someone')
end
end
抱歉打擾,但它看起來像你不要認爲我的答案值得你的賞賜,我對此有點好奇。 你認爲答案是錯誤的,或者它不夠詳細,或者什麼? – Alexis
實際上,我投了票,我現在檢查它是否按預期工作。 –