基础

Ruby Gem 入门

inky-rb 是一款宝贵软件包,能够将电子邮件基础的功能带入 Rails 应用程序中。它可以嵌入资源管道中,与 CSS 内联程序结合使用,让你生成非常棒的响应式 HTML 电子邮件,适用于各种客户端。

工作原理

inky_gem_diagram.png

inky-rb 是 Inky 模板语言的纯 Ruby 实现,它将类似 <row><column> 的简单自定义 HTML 标记转换为电子邮件所需的复杂基于表格的 HTML。

使用类似 premailer-railsroadie 的 CSS 内联程序,你可以让电子邮件模板精简,避免在标记中手动嵌入样式。内联程序可以解析电子邮件模板,找到引用的样式表,浏览其中指定的所有选择器,并将样式分配到文档中匹配的元素。

这种方法的结果是 HTML 电子邮件,它的样式或响应性都符合你的需求,而所需的代码却只是用老式方法编写电子邮件所需代码的一小部分。


入门

在 Rails 应用程序中安装 inky-rb 只需要几个简单步骤。首先,在应用程序的 Gemfile 中添加以下内容

gem 'inky-rb', require: 'inky'
# Stylesheet inlining for email
gem 'premailer-rails'

然后执行

bundle install

运行以下命令,设置所需的样式和邮件布局

rails g inky:install

(你可以指定生成的邮件布局文件名,如下所示:rails g inky:install some_name)

将电子邮件模板重命名为使用 .inky 文件扩展名。请注意,你仍然可以在 .inky 模板中使用 ERB

welcome.html      => welcome.html.inky
pw_reset.html.erb => pw_reset.html.inky

完成!现在,你已准备好开始在 Rails 应用程序中编写响应式电子邮件了。


独立资产

若要在资源管道中仅包含电子邮件基础的样式(不包含 Inky 模板语言),请使用 foundation_emails 这款宝贵软件包。