【问题标题】:Sharing colors between SASS files and Rails erb templates在 SASS 文件和 Rails erb 模板之间共享颜色
【发布时间】:2011-12-30 17:05:05
【问题描述】:

我正在使用与我们的 Rails 3.0.7 应用程序相关联的 ActionMailer 编写电子邮件通讯。所以违背我所有的直觉,我使用像 mad 这样的内联样式,因为这似乎是在 html 电子邮件中做事的唯一方法。我还想以 DRY 的方式保持与网站一致的配色方案。

有没有办法在 Rails 应用程序和它的 SCSS 文件之间共享 SASS 颜色变量以用于内联样式?

【问题讨论】:

  • 我想这应该可以在 3.1 和可以执行 scss.erb 文件的资产管道中实现

标签: ruby-on-rails sass actionmailer html-email


【解决方案1】:

到目前为止我发现的最佳解决方案是 premailer gem:https://github.com/alexdunae/premailer/

使用 premailer 对 HTML 进行后处理,内联在单独的样式表中定义的所有 CSS,让您可以在 SASS 或 CSS 文件中指定您想要的任何内容。

【讨论】:

    【解决方案2】:

    我知道您可以这样做的唯一方法是将 .erb 添加到您的 sass 文件中,以便它们由 Rails 处理,然后您可以使用应用程序级常量:

    <%= APP_CONFIG[:yourkey] %>
    

    Similar question / more reading

    编写电子邮件是一项令人发指的任务,我试图关闭我大脑的所有高级思维区域,每次我必须这样做时都会担心良好的编程原则。除非电子邮件是这个项目的核心部分,否则我会拒绝让那里的约束影响您的应用程序设计的其余部分。

    【讨论】:

    • 谢谢。到目前为止,我最终还是接受了您的建议,即只是将事物组合在一起,但我最终可能会重新设计应用程序的某些部分以更好地支持电子邮件。不幸的是,电子邮件对于我们的产品来说绝对是必不可少的,而且我们计划推出更多不同类型的电子邮件,因此 DRY 将开始变得更加重要。
    猜你喜欢
    • 2012-07-14
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    相关资源
    最近更新 更多