1

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

我已经添加了宝石

# 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

并添加了foundation_emails.scss ruby​​ on rails 电子邮件预览中断

所以我已经尝试取消注释

require 'action_view/railtie'

在 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'

但没用

4

1 回答 1

1

所以这是你应该做的

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 运行 bundle install 并在 rails s 之后

3 - 现在你必须安装 inky whit

rails g inky:install

OBS:此添加到 arquives foundation_emails.scssruby​​ on rails 电子邮件预览会破坏 css 和新的邮件布局

4 - 在aplication.rb取消注释 requiresprockets/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 \0/ </h4>
    </columns>
  </row>
</container>

6-你可以观察你的变化localhost:3000/rails/mailers/folder_name_mailer/email_name.html

这个完整的 Ruby 和 Rails 教程帮助我解决了这个问题Youtube 中的邮件预览和模板教程

于 2020-06-01T13:31:29.037 回答