我正在做Ruby on Rails教程https://www.learnenough.com/ruby-on-rails-6th-edition-tutorial/account_activation#sec-mailer_templates并生成了一個User mailer用于帳戶激活的模板。這是代碼:應(yīng)用程序/視圖/user_mailer/account_activation.text.erbHi <%= @user.name %>,Welcome to the Sample App! Click on the link below to activate your account:<%= edit_account_activation_url(@user.activation_token, email: @user.email) %>應(yīng)用程序/視圖/user_mailer/account_activation.html.erb<h1>Sample App</h1><p>Hi <%= @user.name %>,</p><p>Welcome to the Sample App! Click on the link below to activate your account:</p><%= link_to "Activate", edit_account_activation_url(@user.activation_token, email: @user.email) %>我理解它們之間的區(qū)別(“HTML 是網(wǎng)頁和電子郵件模板的編碼方式,以便格式化文本并添加圖像。純文本是常規(guī)文本,沒有粗體、斜體、下劃線或特殊布局等格式選項”選項”來源:https://www.cakemail.com/blog/html-vs-plain-text/),但我不明白為什么有兩個文件具有相同的嵌入式 Ruby 代碼。我可以將它們混合在一個文件中嗎?
1 回答

繁星coding
TA貢獻1797條經(jīng)驗 獲得超4個贊
不,您不能將它們兩者混合在一個文件中。Rails 將分別呈現(xiàn)模板的 .text 和 .html 變體,然后將它們一起通過多部分電子郵件發(fā)送。能夠顯示 HTML 電子郵件的客戶端將看到 HTML 變體,而僅能夠顯示文本的客戶端將獲得文本。
如果需要,您可以僅提供或其他模板,但如果您僅使用文本,那么您不能使用 HTML(顯然),如果您僅使用 HTML,則無法顯示 HTML 的客戶端將顯示 HTML 源代碼作為消息,使其實際上不可讀。如果您的電子郵件很簡單并且不需要標記,那么您可以只提供一個 .text 模板,一切都應(yīng)該可以正常工作。
- 1 回答
- 0 關(guān)注
- 121 瀏覽
添加回答
舉報
0/150
提交
取消