如何在ActionMailer :: Preview中使用FactoryBot

Sig*_*Sig 5 ruby-on-rails factory-bot

我曾经有以下

require 'factory_girl'
require_relative '../../support/factories/users.rb'

class UserMailerPreview < ActionMailer::Preview
  def invitation
    user = FactoryGirl.build(:user)
    UserMailer.invitation(user)
  end
end
Run Code Online (Sandbox Code Playgroud)

它正在使用FactoryGirl 4.8

现在,我已经更新到FactoryBot 4.8.2

    require 'factory_bot'
    require_relative '../../support/factories/users.rb'

    class UserMailerPreview < ActionMailer::Preview
      def invitation
        user = FactoryBot.build(:user)
        UserMailer.invitation(user)
      end
    end
Run Code Online (Sandbox Code Playgroud)

但是我明白了No such file to load -- factory_bot.rb。我需要什么?

谢谢您的帮助。

Kri*_*ris 3

您需要包含以下方法:

require 'factory_bot_rails'

class MyEmailPreview < ActionMailer::Preview

  include FactoryBot::Syntax::Methods

  def foo
    user = create(:user)
  end
end
Run Code Online (Sandbox Code Playgroud)
  • 工厂机器人 6.2