ruby-on-rails - 开发环境中应用程序内部的 Rails FactoryGirl

标签 ruby-on-rails ruby factory-bot

我正在尝试在我的应用程序中以开发模式使用 FactoryGirl gem(用于邮件测试 more)和 rails_email_preview gem 。

它有效,但仅在初始页面加载时有效,在重新加载/刷新页面后出现以下错误:

Factory not registered: order

其中 order 是工厂名称。

这是我的代码(它是我的 Rails 引擎的虚拟应用程序):

spec/dummy/app/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

当然,我的工厂在测试环境中工作没有任何问题。

如有任何帮助,我们将不胜感激。

编辑:

p FactoryGirl.factories

返回(页面重新加载后)

#<FactoryGirl::Registry:0x007ff2c9dd29d0 @name="Factory", @items={}>

最佳答案

您需要调用 FactoryGirl.find_definitions 来加载开发中的工厂女孩​​。

require 'factory_girl'
FactoryGirl.find_definitions

应该可以解决问题。

关于ruby-on-rails - 开发环境中应用程序内部的 Rails FactoryGirl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36965377/

相关文章:

ruby-on-rails - 使用 will_paginate/searchlogic 搜索多个字段

ruby-on-rails - 当使用 Rails 运行 byebug session 并且服务器超时时,如何恢复我的文本/光标?

ruby - Datamapper (ruby) - (使用博客示例)获取没有评论的帖子

ruby-on-rails - FactoryGirl has_many 与双向存在验证的关联创建额外记录

javascript - 在模态弹出窗口中调用时,使用 JS 的 Controller 方法不会返回/渲染数据

ruby-on-rails - accepts_nested_attributes_for json PUT(更新)

ruby - 使用brew安装非常旧的版本

ruby-on-rails - RSpec 3 : Simple validates_uniqueness_of Failure

ruby-on-rails - 尝试使用 Rspec 和 FactoryGirl 创建列表时验证失败?

ruby-on-rails - 如果 before_action 返回 false 如何执行操作