10

' premailer ' gemをRails(3.0.7)プロジェクトとどのように統合しますか?私は現在メーラーに持っています:

def welcome(user)
  @user = user

  mail to: user.email, subject: "Welcome"
end

しかし、ライブラリを統合する方法がわかりません。電話する必要があります:

premailer = Premailer.new(html)
html = premailer.to_inline_css

ただし、メーラーアクションからメールの内容にアクセスする方法がわかりません。

4

4 に答える 4

11

私が最近書いた単純なpremailer-rails gemを見てください。Rails メーラー フックを使用して変換を行います。

于 2011-05-31T17:14:27.613 に答える
5

試す:

def premailer(message)
  message.text_part.body = Premailer.new(message.text_part.body.to_s, with_html_string: true).to_plain_text
  message.html_part.body = Premailer.new(message.html_part.body.to_s, with_html_string: true).to_inline_css

  return message
end

def welcome(user)
  @user = user

  message = mail to: user.email, subject: "Welcome"
end
于 2011-05-27T02:17:05.003 に答える
5

Rails 4 ユーザーの場合: gem を追加する

gem 'premailer-rails'
gem 'nokogiri' (if you don't have it)

これをスタイルシート (Haml) に追加します。

%style{type:"text/css"}= Rails.application.assets.find_asset('email_stylesheet').to_s

何らかの理由で、通常の stylesheet_link_tag では機能しませんでした

それは私がしなければならなかったすべてです。この助けを願っています!

于 2014-08-15T23:28:47.417 に答える
1

また

gem "actionmailer_inline_css"
于 2012-11-28T14:09:33.770 に答える