Pony抛出NoMethodError

时间:2013-02-24 14:50:33

标签: ruby-on-rails ruby pony

我有这个规格:

describe EmailerHelper do
  describe "send email" do
    include EmailerHelper
    include Pony::TestHelpers
    before { sendUBEmail('nobody@nowhere.net','Test Subject','Test Body') }
    it "Pony has received the email" do
      current_email.address.should == "noobody@nowhere.net"
    end
  end
end

目前这是sendUBEmail:

module EmailerHelper
  def sendUBEmail(receiver,subject,body)
    if Rails.env != 'production'
      #TODO - make test email an environment variable
      Pony.mail(:to => 'p***@p***.net', :subject => subject, :body => body)
    else
      Pony.mail(:to => receiver, :subject => subject, :html_body => body)
    end
  end
end

当我运行此规范时,我收到此错误

  1) EmailerHelper send email Pony has received the email
     Failure/Error: before { sendUBEmail('nobody@nowhere.net','Test Subject','Test Body') }
     NoMethodError:
       undefined method `build_tmail' for Pony:Module
     # ./app/helpers/emailer_helper.rb:5:in `sendUBEmail'
     # ./spec/helpers/emailer_helper_spec.rb:17:in `block (3 levels) in <top (required)>'

这个'build_tmail'在哪里?它不在Pony模块中,为什么找不到该方法。

1 个答案:

答案 0 :(得分:1)

我有一个旧版本的Pony-Test搞砸了作品,修改了Gemfile以指向最新的,修复的。