2011-11-13 14 views
5

Mam fabrykę, w której definiuję lokalizację w factories/locations.rb. Używam Mongoid i Rails 3.1.1 z rubinem 1.9.3.FactoryGirl należy do stowarzyszenia

 
FactoryGirl.define do 
    factory :location do 
     name Faker::Name.name 
     description "Down by the river" 
    end 
end 

A następnie chcę zdefiniować obóz fitness, który należy do lokalizacji (i dlatego ma atrybut location_id).

 
FactoryGirl.define do 
    factory :fitness_camp do 
    title "Parkour" 
    association :location_id, :factory => :location 
    end 
end 

Ten działa lecz jest wynikiem mojego hacking, nie to, co przeczytałem w docs. Z podręczny przewodnik (https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md) Wydaje się to powinno być tak proste, jak:

 
    factory :fitness_camp do 
    title "Parkour" 
    location 
    end 

Am I czegoś brakuje? Czy to oznacza, że ​​moje modele mogą nie być poprawnie skonfigurowane?

Dzięki!

Tim

+0

zobacz tutaj: http://robots.thoughtbot.com/post/9713995255/factorygirl-2-1-0-brings-the-heat – apneadiving

+0

Spojrzałem tam - wciąż niejasne. Prześlę później kod źródłowy. – bonhoffer

+0

Jakiej wersji FactoryGirl używasz? – sevenseacat

Odpowiedz

5

byłem idiotą - Miałem validates_numericality_of :location_id

 
class FitnessCamp 

    include Mongoid::Document 

    field :title, :type => String 

    belongs_to :location 

    validates_presence_of :location_id, :title 
    validates_numericality_of :location_id 

Mad rekwizyty Radar (Ryan Bigg) dla pomagając mi przez to przejść.

Powiązane problemy