Estoy usando la consola rails en el entorno de desarrollo y quiero usar fábricas. ¿Cómo puedo acceder a ellos?
He probado require "FactoryGirl"que devuelve
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
ruby-on-rails
factory-bot
Eric Baldwin
fuente
fuente

rails cluego hacer unrequire 'factory_bot'Respuestas:
Para resolver este problema, asegúrese de que la gema del bot de fábrica esté especificada en su Gemfile de manera similar a esta
group :development, :test do gem 'factory_bot_rails' endEntonces
bundle install.Esto debería hacer que la clase FactoryBot esté disponible en la consola de desarrollo.
Espero que esto ayude.
fuente
gem 'factory_girl_rails', :require => falsegenerará errores para cualquiera que intente configurar un entorno de desarrollo desde cero, tenga cuidado.rails console test, le permitirá crear una consola en el entorno de prueba para que no necesite actualizar su Gemfile para usar un paquete de prueba en el entorno de desarrolloHago esto de la siguiente manera:
Inicie la consola de rieles en el entorno de prueba en modo sandbox.
rails console -e test --sandboxNecesita esto por dos razones:
Luego en la consola:
Requieren FactoryBot (se llamaba FactoryGirl):
require 'factory_bot'Cargue las definiciones de fábrica:
FactoryBot.find_definitionsIncluya los métodos FactoryBot para evitar prefijar todas las llamadas a FB con
FactoryBot(encreatelugar deFactoryBot.create):include FactoryBot::Syntax::MethodsPD Para la gema de fabricación , puede cargar las definiciones en la consola de rieles con:
Fabrication.manager.load_definitionsTambién
require 'faker'si lo usas.fuente
require 'ffaker'?fixture_file_uploadproblema de método indefinido , causado por la ausencia deActionDispatch::TestProcessmódulo, por lo que podría considerar incluirlo tambiénrequire "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'rails c -e test --sandboxEs necesario
require 'factory_bot_rails', que es la gema real que está utilizando Rails. Esa joya incluirá la biblioteca Factory Bot, queFactoryBotestará disponible.Puede hacer esto o actualizar su Gemfile para requerirlo al inicio como en la respuesta de muttonlamb.
fuente
require 'faker'.