如何在 rail API-only 中配置 inky-rb

How configure inky-rb in rail API-only

我正在尝试安装 inky-rb gem 以仅在 rails API 中使用基础电子邮件主题。此 api 只有 read/send 数据,但我们想从她那里为用户发送电子邮件。

我已经添加了 gem

# Preprocessor for email HTML to convert components in table structure https://get.foundation/emails/docs/gem-guide.html

gem 'inky-rb', require: 'inky'

# Stylesheet inlining for email (used by inky)
gem 'premailer-rails'

但是当 运行

rails g inky:install

并在 rails 电子邮件预览中断

上添加了 foundation_emails.scss ruby

所以我准备尝试取消评论

require 'action_view/railtie'

in application.rb 并在同一文件中添加 config.assets.precompile += ['foundation_email.css' ]

但是现在当我去邮件预览时我收到这个错误

LoadError in Rails::MailersController#preview
cannot load such file -- sassc

为了尝试解决这个问题,我尝试添加了 gem

gem 'sprockets', '~> 4.0'
gem 'sassc-rails'

但是没用

所以这就是你应该做的

1 - 使用

创建邮件程序
rails g mailer folder_name email_name

2 - 在您的 Gemfile 中添加 inky-rb、sassc-rails 和 sprockets gem。

gem 'inky-rb', require: 'inky'    
gem 'sprockets'
gem 'premailer-rails'
gem 'sassc-rails'

用于安装 gems 运行 捆绑包安装并在 rails 之后

3 - 现在您必须安装 inky whit

rails g inky:install

OBS:此添加到 foundation_emails.scss ruby rails 电子邮件预览中断 css 和新的邮件布局

4 - 在 aplication.rb 中取消注释 require sprockets/railtie 并在行后添加 config.api_only = true

config.assets.precompile += %w( foundation_mails.css )

您还需要在 assets/config

中添加一个 manifest.js
//= link_directory ../stylesheets .css

5 - 现在在 views/folder_name_mailer 中,您将文件名从 email_name.html.erb 更改为 email_name.html.inky 并添加一个像这样的布局

<container>
  <columns>  
    <spacer size="16"></spacer>
       <h4 class="text-center"> This Works [=15=]/ </h4>
    </columns>
  </row>
</container>

6- 您可以在 localhost:3000/rails/mailers/folder_name_mailer/email_name.html

中查看您的更改

完整 Ruby 和 Rails 的教程帮助我解决了邮件预览和 Templates Tutorial in Youtube

这个问题