FactoryGirl принадлежит к ассоциации - PullRequest
5 голосов
/ 14 ноября 2011

У меня есть фабрика, где я определяю местоположение в 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

Я что-то упустил? Означает ли это, что мои модели могут быть настроены неправильно?

Спасибо!

Тим

1 Ответ

5 голосов
/ 15 ноября 2011

Я был идиотом - у меня было 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

Сумасшедший реквизит Радар (Райан Бигг) за помощь мне в этом.

...