我正在尝试安装inky-rb gem,以在仅Rails API中使用基础电子邮件主题。此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 Rails电子邮件预览休息中的ruby
所以我不喜欢尝试取消评论
require 'action_view/railtie'
在application.rb中,并在同一文件中添加config.assets.precompile += ['foundation_email.css' ]
。
但是现在当我去邮寄预览时,我收到此错误消息
LoadError in Rails::MailersController#preview
cannot load such file -- sassc
为了解决这个问题,我尝试添加了宝石
gem 'sprockets', '~> 4.0'
gem 'sassc-rails'
但没有用
所以这就是你应该做的
1-创建您的邮件发件人
rails g mailer folder_name email_name
2-在您的Gemfile中添加inky-rb,sasssc-rails和sprockets宝石。
gem 'inky-rb', require: 'inky'
gem 'sprockets'
gem 'premailer-rails'
gem 'sassc-rails'
用于安装gems,请运行bundle install并在rails之后
3-现在您必须安装漆黑的丝毫
rails g inky:install
OBS:这将使foundation_emails.scss
Ruby on Rails电子邮件预览中断CSS和新的邮件发送程序布局
4-在aplication.rb
中取消注释,需要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 \0/ </h4>
</columns>
</row>
</container>
6-您可以在localhost:3000/rails/mailers/folder_name_mailer/email_name.html
中观看您的更改
有关完整Ruby和Rails的本教程,帮助我很好地解决了此问题,邮件预览和Templates Tutorial in Youtube