2016-04-21 61 views
0

我有一個問題,我可以通過郵件發送電子郵件的硬編碼數組。 但電子郵件的數組不經過從config.yml軌道上的紅寶石動作郵件不接收來自yaml文件的數組的電子郵件

拿起這是我config.yml

company: 
    email: 
    - [email protected] 
    - [email protected] 
    - [email protected] 

這是我的郵件類:

class ReportMailer < ActionMailer::Base 
    default :from => "[email protected]" 


    def send_report(company, file) 

     mail(:to=> "#{CONFIG[company]['email']}", :subject => "Daily Report") 
    end 
    end 
end 

時運行在我的導軌控制檯&查看日誌,似乎一切都很好,但我沒有收到我的電子郵件:

[DEBUG] 2016-04-21 18:21:29 :: Date: Thu, 21 Apr 2016 18:21:29 -0400 
From: [email protected] 
to: ["[email protected]", "[email protected]","[email protected]"] 
... 
... 

[INFO] 2016-04-21 18:21:29 :: 
Sent mail to ["[email protected]", "[email protected]", "[email protected]"] 

如果我更改我的代碼&將其替換爲硬編碼數組而不是從config.yml讀取,它可以正常工作。

我讀的yaml數組錯了嗎?

+1

你傳遞一個字符串轉換爲'to',而不是數組 – Alfie

回答

1

正如@Alfie在評論中正確指出的那樣,您正在將字符串數組傳遞給to:

CONFIG[company]['email']返回一個數組,然後串插調用它to_s和你結束了

"['[email protected]', '[email protected]','[email protected]']" 

就在數組中傳遞,而不將其插入一個字符串:

mail(:to=> CONFIG[company]['email'], :subject => "Daily Report") 
相關問題