[英]Rails Devise Mailer - Add params
我想在郵件中使用一些個人參數(尤其是在Devise郵件中):
這是我的DeviseMailer
def confirmation_instructions(record, token, opts={})
mail = super
@agency = Agency.find record.agency_id unless record.agency_id.blank?
@color = color(@agency)
@logo = logo(@agency)
mail.subject = "[#{(@agency.blank?) ? 'Evasion & Découverte' : @agency.name}] Plus qu'une étape pour finaliser votre inscription !"
mail.from = "#{(@agency.blank?) ? 'agence@evasion-et-decouverte.fr' : @agency.email}"
mail
end
但是發送電子郵件時出現錯誤,因為“ @color”或“ @logo”或“ @agency”為零
好的,試試這個
def confirmation_instructions(record, token, opts={})
@agency = record.agency # or in your case record can be agency itself I dont know
@color = @agency && @agency.color || SOME_DEFAULT_COLOR_VALUE
@logo = @agency && @agency.logo || SOME_DEFAULT_LOGO
email = @agency && @agency.email || 'agence@evasion-et-decouverte.fr'
opts[:subject] = "[#{@agency.name}] Plus qu'une étape pour finaliser votre inscription !"
opts[:from] = email
super
end
確保記錄@agency = record.agency
嘗試訪問數據庫中的可用內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.