Ho un semplice factories.rb
come questo:
FactoryGirl.define do
factory :book_category do
sequence(:name) { |n| "Cateogry #{n}" }
end
factory :book do
sequence(:title) { |n| "Book #{n}" }
end
end
Dopo aver eseguito un generatore di modelli come rails g model categorization book:references category:references
il mio file finisce così:
FactoryGirl.define do factory :categorization do
book nil
category nil
end
factory :post_category do
sequence(:name) { |n| "Cateogry #{n}" }
end
factory :book do
sequence(:title) { |n| "Book #{n}" }
end
end
Questo succede dopo ogni generazione di modello.
Inoltre, se creo una fabbrica prima di creare unmodello, e quindi eseguire un generatore per creare il modello dà un errore dicendo qualcosa come "la fabbrica esiste già". Quindi devo aspettare di generare il modello prima di aggiungere una fabbrica.
è un insetto?
Sto usando rails 4.2.4 e factory_girl_rails 4.5.0.
Modificare: Ho provato a rimuovere tutto dal factories.rb
file e aggiungendo questo:
FactoryGirl.define do
end
Dopo aver provato a generare una factory modello utilizzando il comando rails g factory_girl:model book
, questo è quello che ho finito con:
FactoryGirl.define do factory :book do
end
end
risposte:
0 per risposta № 1Penso che abbia qualcosa a che fare con i caratteri bianchi presenti nel tuo file factory.rb. Come viene dalla fonte (https://github.com/thoughtbot/factory_girl_rails/blob/master/lib/generators/factory_girl/model/model_generator.rb#L46), inserisce il codice dopo il carattere "n".
Assicurati di non avere caratteri spaziali dispari, magari di rigenerare il tuo file di fabbriche con rails g factory_girl:model
.