我的测试环境使用spork&黄瓜 - 我能够很好地运行我的测试,并决定包括email_spec。但是电子邮件测试失败了
然而,电子邮件(使用haml)没有被发送出去,因为delayed_job失败了
Missing template user_response_mailer/send_contact_info with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en]
请注意,错误中的处理程序不会在其处理程序列表中显示:haml。我已经在我的gemfile中获得了haml和haml-rails gem,我的应用程序在非测试环境中正确发送邮件(在dev / prod中没有上述错误)
主要问题是
Why is haml not getting loaded automatically when my email templates are being rendered via delayed_job running under spork ?
答案 0 :(得分:0)
这必须是一个spork问题,没有别的。安装HAML后重新启动了spork服务器吗?
我问因为:我使用带有rspec / cucumber的email_spec,现在spork,我的应用程序中的所有都是HAML。电子邮件由resque-mailer发送,而不是delayed_job。我遇到的问题是,当使用spork运行时,不会更改HAML模板(即HAML插件使用模板的预编译缓存副本)。
查看您的错误,HAML根本没有加载。如果是,则:handlers数组在列表中会有:haml。
在我的情况下,禁用视图缓存应该可以解决这个问题,我还在探讨这个问题