我有一个工厂,我在factories/locations.rb
中定义了一个位置。我正在使用Mongoid和Rails 3.1.1和ruby 1.9.3。
FactoryGirl.define do factory :location do name Faker::Name.name description "Down by the river" end end
然后我想定义一个属于某个位置的健身营(因此具有location_id属性)。
FactoryGirl.define do factory :fitness_camp do title "Parkour" association :location_id, :factory => :location end end
此有效,但是,这是我的黑客攻击的结果,而不是我在文档中读到的内容。从入门指南(https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md)开始,它应该像以下一样简单:
factory :fitness_camp do title "Parkour" location end
我错过了什么吗?这是否表明我的模型可能配置不正确?
谢谢!
添
答案 0 :(得分:5)
我是个白痴 - 我有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
疯狂道具雷达(Ryan Bigg)帮我解决了这个问题。