【问题标题】:Spork, delayed_job, email_spec and hamlSpork、delayed_job、email_spec 和 haml
【发布时间】:2011-12-28 04:39:59
【问题描述】:

我的测试环境使用 spork 和 cucumber - 我能够很好地运行我的测试并决定包含 email_spec。但是电子邮件测试失败了

  1. 我的电子邮件是使用delayed_job 发送出去的
  2. email_spec 在检查电子邮件之前运行延迟作业
  3. 但是电子邮件(使用haml)没有被发送出去,因为delayed_job 失败了

    Missing template user_response_mailer/send_contact_info with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en]
    
  4. 请注意,错误中的处理程序不会在其处理程序列表中显示 :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 ?

【问题讨论】:

    标签: haml delayed-job spork email-spec


    【解决方案1】:

    这一定是一个spork问题,没有别的。安装 HAML 后您是否重新启动了 spork 服务器?

    我问是因为:我将 email_spec 与 rspec/cucumber 和现在 spork 一起使用,而我的应用程序中的一切都是 HAML。电子邮件由 resque-mailer 发送,而不是 delay_job。我遇到的问题是,当使用 spork 运行时,不会拾取对 HAML 模板的更改(即 HAML 插件使用模板的预编译、缓存副本)。

    查看您的错误,根本没有加载 HAML。如果是,则 :handlers 数组将在列表中包含 :haml。

    在我的情况下,禁用视图缓存应该可以解决问题,我仍在研究那个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 2011-12-11
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多