2011-11-13 11 views
5

Tengo una fábrica donde defino una ubicación en factories/locations.rb. Estoy usando Mongoid and Rails 3.1.1 con ruby ​​1.9.3.FactoryGirl belongs_to association

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

Y luego quiero definir un campo de entrenamiento que pertenece a una ubicación (y por lo tanto tiene un atributo location_id).

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

Esto funciona pero, es el resultado de mi piratería, no lo he leído en los documentos. A partir de la guía de instalación inicial (https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md) parece que esto debería ser tan simple como:

 
    factory :fitness_camp do 
    title "Parkour" 
    location 
    end 

Me estoy perdiendo algo? ¿Esto indica que mis modelos podrían no estar configurados correctamente?

Gracias!

Tim

+0

mira aquí: http://robots.thoughtbot.com/post/9713995255/factorygirl-2-1-0-brings-the-heat – apneadiving

+0

Miré allí, todavía no está claro. Revisaré el código fuente más tarde hoy. – bonhoffer

+0

¿Qué versión de FactoryGirl estás usando? – sevenseacat

Respuesta

5

yo era un idiota - tuve 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 

apoyos a Mad Radar (Ryan Bigg) por ayudarme a través de este.

Cuestiones relacionadas