Я обновляюсь с rails 3.0.7 до 3.1, и у меня возникают проблемы с прохождением моих тестов. Проблема возникает, когда я пытаюсь использовать заглушенный объект активного ресурса на фабрике.
#employee.rb
class Employee < ActiveResource::Base; end
#task.rb
class Task < ActiveRecord::Base
belongs_to :employee
end
#factories.rb
Factory.define :employee do |e|
e.name "name"
end
Factory.define :task do |t|
t.employee { Factory.stub(:employee) }
end
На приставке и в спеке стабинг у сотрудника работает. Ссылка на заглушенный объект сотрудника в новой задаче дает следующую ошибку.
Factory.create( :task, :employee => Factory.stub(:employee) )
NoMethodError:
undefined method `[]' for #<Employee:0x007fc06b1c7798>
РЕДАКТИРОВАТЬ
Это не проблема фабричных девушек. Я получаю ту же ошибку, если делаю следующее в консоли.
Task.new( :employee => Employee.first )
Это должно быть связано с тем, как own_to сопоставляет столбец id.