我正在尝试在开发模式下在我的应用程序中使用 FactoryGirl gem(用于邮件测试more https://github.com/glebm/rails_email_preview/issues/66#issuecomment-215954485) with Rails_电子邮件_预览 https://github.com/glebm/rails_email_preview gem.
它有效,但仅在初始页面加载时有效,重新加载/刷新页面后,我收到以下错误:
Factory not registered: order
where order
是工厂名称。
这是我的代码(它是我的 Rails 引擎的虚拟应用程序):
规格/虚拟/应用程序/mailer_previews/mymodule/order_mailer_preview.rb
Dir[Mymodule::Core::Engine.root.join('spec', 'factories', '*')].each do |f|
require_dependency f
end
module Mymodule
class OrderMailerPreview
def confirmation_email
o = FactoryGirl.create(:order)
OrderMailer.confirmation_email(o)
end
end
end
当然,我的工厂在测试环境中运行没有任何问题。
任何帮助,将不胜感激。
EDIT:
p FactoryGirl.factories
返回(页面重新加载后)
#<FactoryGirl::Registry:0x007ff2c9dd29d0 @name="Factory", @items={}>
你需要打电话FactoryGirl.find_definitions
加载开发中的工厂女孩。
require 'factory_girl'
FactoryGirl.find_definitions
应该做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)