Estoy actualizando de los rieles 3.0.7 a 3.1 y tengo problemas para pasar mis pruebas. El problema ocurre cuando trato de usar un objeto de recurso activo troceado en una fábrica.rails 3.1.0 belongs_to ActiveResource ya no funciona
#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
En la consola y en el ajuste de especificaciones un empleado trabaja. Hacer referencia al objeto de empleado anulado en una nueva tarea genera el siguiente error.
Factory.create(:task, :employee => Factory.stub(:employee))
NoMethodError:
undefined method `[]' for #<Employee:0x007fc06b1c7798>
EDITAR
Esta no es una cuestión chica de la fábrica. Me sale el mismo error si hago lo siguiente en la consola.
Task.new(:employee => Employee.first)
Debe estar relacionado con cómo belongs_to mapea la columna de id.
Por favor, añada una respuesta y márquela como la respuesta correcta. Gracias por publicar esto. – WattsInABox