Rails 3 と RSpec 2 にアップグレードしたところ、RSpec テストの 1 つが機能しなくなりました。
# Job.rb
class Job < ActiveRecord::Base
has_one :location
belongs_to :company
validates_associated :location
end
# Location.rb
class Location < ActiveRecord::Base
belongs_to :job
end
# job_spec.rb
describe Job, "location" do
it "should have a location" do
job = Factory(:job)
location = Factory(:location, :job_id => job.id)
location.job.should == job #true
job.location.should == location #false
end
end
job.location
nil と評価されますが、location.job
正しいです。を取り除いても問題なく動作しvalidates_associated :location
ます。これが機能しない理由を誰か説明できますか?