Rails 4 Action Mailer Previews和Factory Girl问题

Gre*_*ass 8 actionmailer ruby-on-rails-4 factory-bot

在处理Rails 4动作邮件预览和工厂女孩时,我遇到了一个非常烦人的问题.这是我的一些代码的示例:

class TransactionMailerPreview < ActionMailer::Preview
  def purchase_receipt
    account = FactoryGirl.build_stubbed(:account)
    user = account.owner
    transaction = FactoryGirl.build_stubbed(:transaction, account: account, user: user)
    TransactionMailer.purchase_receipt(transaction)
  end
end
Run Code Online (Sandbox Code Playgroud)

这可能是任何动作邮件预览.让我说我得到了一些错误(每次都发生),并且有一个错误.我修复了错误并刷新了页面.每次发生这种情况我都得到:

"Rails中的ArgumentError :: MailersController#preview用户的副本已从模块树中删除但仍处于活动状态!"

然后我唯一的出路是重启我的服务器.

我在这里错过了什么吗?有关导致这种情况的原因以及如何避免这种情况的任何线索?因为这个原因,过去一周我已经重启了我的服务器100次.

编辑:在我编辑代码并刷新预览的任何时候,它实际上可能会发生?

Gre*_*ass 1

这回答了我的问题:

/sf/answers/2079713191/

我使用了方法 #3:只需在有问题的模块前面放置一个 :: 即可。