簡體   English   中英

Rails Devise Mailer-添加參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM