Как интегрировать premailer с Rails - PullRequest
10 голосов
/ 25 мая 2011

Как интегрировать гем ' premailer ' с проектом 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 ]

10 голосов
/ 31 мая 2011

Взгляните на простой premailer-rails gem , который я недавно написал.Для преобразования он использует перехватчики Rails.

5 голосов
/ 16 августа 2014

Для пользователей Rails 4 вы можете: добавить драгоценные камни

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

по какой-то причине он не работал с обычной таблицей стилей_link_tag

Это все, что я должен был сделать. Надеюсь, что это поможет!

5 голосов
/ 27 мая 2011

Попробуйте:

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
1 голос
/ 28 ноября 2012

или

gem "actionmailer_inline_css"
...