我们有以下服务器设置:
正常的工作流程是:
deliver_later
现在我们使用premailer-rails来设置电子邮件的样式。 css文件位于app/assets/stylesheets/emails/base.scss
下。我们在mail.html.haml
- 布局中使用stylesheet_link_tag 'emails/base'
引用它。这在开发和预览邮件时非常有用。
但是如果我们部署所有内容并在生产中测试它,我们就会收到错误:
ActionView::Template::Error: The asset "emails/base.css" is not present in the asset pipeline
当我们告诉capistrano在工作服务器上预编译资产时,它非常有效。但这似乎有点开销。
这是解决问题的唯一解决方案吗? 有没有人有类似的设置和问题?
的问候,
水疗
答案 0 :(得分:0)
默认情况下,如果要在生产环境中使用实时编译(在运行时编译资产),Rails会假定您已在生产环境中预编译文件,必须将config.assets.compile
设置为{{1} }。
<强>配置/环境/ production.rb 强> ...
true