Tôi đang nâng cấp từ đường ray 3.0.7 lên 3.1 và gặp sự cố khi thử nghiệm của mình để vượt qua. Vấn đề xảy ra khi tôi cố gắng sử dụng một đối tượng tài nguyên đang hoạt động được stubbed trong một nhà máy.đường ray 3.1.0 thuộc về ActiveResource không còn hoạt động
#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
Trên bảng điều khiển và trong thông số kỹ thuật, nhân viên làm việc. Việc tham chiếu đối tượng nhân viên được stubbed trong một nhiệm vụ mới sẽ đưa ra lỗi sau.
Factory.create(:task, :employee => Factory.stub(:employee))
NoMethodError:
undefined method `[]' for #<Employee:0x007fc06b1c7798>
EDIT
Đây không phải là một vấn đề nhà máy cô gái. Tôi nhận được cùng một lỗi nếu tôi làm như sau trong giao diện điều khiển.
Task.new(:employee => Employee.first)
Nó phải liên quan đến cách thức_để ánh xạ cột id.
Vui lòng thêm câu trả lời và đánh dấu câu trả lời là câu trả lời đúng. Cảm ơn bạn đã đăng bài này. – WattsInABox