如何在仅Rail API中配置inky-rb

问题描述 投票:0回答:1

我正在尝试安装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'

但没有用

ruby-on-rails-5 actionmailer zurb-ink
1个回答
0
投票

所以这就是你应该做的

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

© www.soinside.com 2019 - 2024. All rights reserved.