Actionmailer css添加到整个应用

时间:2015-06-02 19:35:07

标签: html css ruby-on-rails actionmailer

我尝试通过执行以下操作来设置动作邮件邮件视图的样式:

我有一个email.css.scss文件:

@import "bootstrap-sprockets";
@import "bootstrap";

a {
    color: #23527c;
    a:hover {
        color: #1C70BB;
    }
}

assets.rb

Rails.application.config.assets.precompile += %w( email.css )

send_email.html.erb

<%= stylesheet_link_tag 'email' %>

但是现在当我进入我的应用时,所有链接a都是这种颜色,但我还没有在email.css.scss文件中导入application.scss

如何才能在这个特定的电子邮件视图中只读取email.css.scss文件?

另外,如果这与它有关,我会rake assets:precompile

谢谢!

编辑:

我按照这篇文章介绍了如何使用rails和bootstrap发送电子邮件:

http://stefan.haflidason.com/sending-emails-using-rails-and-bootstrap/

它使用了两个宝石:

gem 'nokogiri'
gem 'premailer-rails'

1 个答案:

答案 0 :(得分:0)

你做不到。你必须内联邮件样式(在实际的邮件程序模板中),一旦你这样做,邮件程序样式将不会对你的应用程序的其余部分产生影响。你也无法在那里使用SCSS / SASS。

设置邮件模板样式的最简单方法是使用邮件程序模板顶部的标记。

仅仅因为您已经预编译了邮件资产以及应用程序的其余部分并不意味着用户的电子邮件程序将能够加载它们。谈到电子邮件,内联/表格是王道。这种感觉有点像1995年的样子,但就是这样。