Tôi đang cố gắng đưa một số dữ liệu giả vào một nhà máy bằng cách sử dụng đá quý Faker:
Factory.define :user do |user|
user.first_name Faker::Name::first_name
user.last_name Faker::Name::last_name
user.sequence(:email) {|n| "user#{n}@blow.com" }
end
Tuy nhiên, mặc dù tôi hy vọng điều này sẽ tạo ra những người dùng có tên_người_đầu và tên_các_đầu khác nhau, nhưng mỗi người đều giống nhau:
>> Factory(:user)
=> #<User id: 16, email: "user7@blow.com", created_at: "2011-03-18 18:29:33",
updated_at: "2011-03-18 18:29:33", first_name: "Bailey", last_name: "Durgan">
>> Factory(:user)
=> #<User id: 17, email: "user8@blow.com", created_at: "2011-03-18 18:29:39",
updated_at: "2011-03-18 18:29:39", first_name: "Bailey", last_name: "Durgan">
Làm cách nào để lấy Faker gem để tạo tên mới cho từng người dùng chứ không chỉ sử dụng lại những tên ban đầu?
user.sequence(:first_name} {|n| Faker::Name::first_name}
nào chưa? FactoryGirl có khả năng chỉ đánh giá cuộc gọi Faker của bạn khi nó tải "đồ đạc" của bạn. Sử dụngsequence param,&block
phương pháp nên ngăn chặn điều đó.