我在Heroku上託管了一個Rails 4應用程序,該應用程序爲S3存儲桶提供資源。我正在嘗試定製我的郵件程序(在這種情況下,設計Devise郵件程序),以便我可以將內嵌圖像嵌入到我的電子郵件中。Rails 4 Mailer,Amazon S3和內嵌圖像
每Rails的文檔,郵件程序應包含的代碼如下所示:
def confirmation_instructions(record, token, opts={})
# Prepare image for embedding
attachments.inline['logo'] = File.read("#{Rails.root}/app/assets/images/logo.jpg")
# Allow Devise to do its thing
super
end
和視圖應包含以下內容:
<%= image_tag attachments['logo'].url, :style => "my styling here" %>
在Heroku上,這個失敗,以下日誌:
ActionView :: Template :: Error(未定義的方法'url'爲零:NilClass):
「我在這裏的造型」%>
換句話說,它看起來像attachments.inline [「標誌」]是返回nil,然後在視圖呼籲的.url上爲零。
我已經嘗試了很多修復程序,在這一點上我非常惱火。我知道這一定是我忽略的一些簡單的東西,我希望有人能指出我出錯的地方。
在此先感謝。
我不認爲需要Rails根目錄,請嘗試'File.read('app/assets/images/logo.png');超級「,並確保你的類繼承自Devise :: Mailer – argentum47