開発環境でRailsコンソールを使用していて、ファクトリーを使用したい。どうすればそれらにアクセスできますか?
私が試してみましたrequire "FactoryGirl"どのリターン
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
開発環境でRailsコンソールを使用していて、ファクトリーを使用したい。どうすればそれらにアクセスできますか?
私が試してみましたrequire "FactoryGirl"どのリターン
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
rails c次の操作を行うことができますrequire 'factory_bot'
回答:
この問題を解決するには、ファクトリボットgemがGemfileで次のように指定されていることを確認してください
group :development, :test do
gem 'factory_bot_rails'
end
その後bundle install。
これにより、FactoryBotクラスが開発コンソールで使用できるようになります。
お役に立てれば。
gem 'factory_girl_rails', :require => falseと、開発環境を最初からセットアップしようとするとエラーが発生しますので、注意してください。
rails console test。これにより、テスト環境でコンソールを作成できるため、開発環境でテストパッケージを使用するためにGemfileを更新する必要がなくなります
私はこれを次の方法で行います:
サンドボックスモードのテスト環境でRailsコンソールを起動します。
rails console -e test --sandboxこれが必要な理由は2つあります。
次に、コンソールで:
FactoryBotが必要です(以前はFactoryGirlと呼ばれていました):
require 'factory_bot'ファクトリー定義をロードします。
FactoryBot.find_definitionsFactoryBotメソッドを含めて、FBへのすべての呼び出しの前にFactoryBot(のcreate代わりにFactoryBot.create)を付けないようにします。
include FactoryBot::Syntax::MethodsPS 製作宝石の場合、以下を使用してRailsコンソールに定義をロードできます。
Fabrication.manager.load_definitions
require 'faker'それを使うならまた。
require 'ffaker'?
fixture_file_upload不在が原因である、未定義のメソッドの問題に直面したActionDispatch::TestProcessので、それも含めることを検討してください
require "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'
rails c -e test --sandbox