2011-12-03 41 views
0

我有一些內容在數據庫中存儲換行符,當我使用simple_format在瀏覽器上查看我的內容時,我看到內容顯示的換行符很好。問題是,當我發送電子郵件時,換行符被刪除,並全部顯示在一行上。這裏是我的郵件..Rails電子郵件 - 看不到電子郵件中的換行符

def new_announcement(announcement) 
    @announcement = announcement 
    addresses = @announcement.email_list.split(',') 
    mail(:to => addresses, :from => @announcement.from_email, :subject => @announcement.title, :content_type => "text/html") do |format| 
    format.html 
    end 
end 

..和然後在我看來new_announcement.html.erb

<!DOCTYPE html> 
<html> 
    <head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> 
    </head> 
    <body> 
    <p> 
     <%= simple_format @announcement.content %> 
    </p> 
    <div class="faint-display"> 
     This announcement was sent via the iTeam Announcements page for DA (<%= link_to "http://goto/iteam", "goto/iteam" %>) 
    </div> 
    </body> 
</html> 

的公告內容顯示在同一行,而不是它在換行的方式做瀏覽器。有什麼我做錯了嗎?謝謝!

回答

0

好的,所以想通了。事實證明,電子郵件視圖不知道佈局(CSS源代碼)或應用程序中的任何幫助器方法,因此您需要明確提及這些方法。這是我沒有,它很好!

<!DOCTYPE html> 
<html> 
    <head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" > 
    <style type="text/css" media="screen"> 
     body {font-family: verdana; font-size: 10pt} 
     div {color: gray; font-style:italic; font-size: 8pt} 
    </style> 
    </head> 
    <body> 
    <p> 
     <%= ApplicationController.helpers.simple_format(@announcement.content) %> 
    </p> 
    </body> 
</html> 
0

大多數郵件客戶端在瀏覽器方面沒有像HTML解釋方式那樣更新。在對電子郵件進行編碼時,您應該使用較舊的技術,例如
標籤,但不幸的是......表格等等。

+0

同意但內容中有換行符。他們應該至少出現。我會用表格修復其餘部分。 – absolutskyy