2013-09-30 53 views
2

我是Rails(4.0.0)和Ruby(2.0.0)的新手,想知道如何給每個用戶同一本書十次。所以首先,我創建我的三個用戶:如何在我的種子數據中創建相同的記錄X次?

user1 = User.create(name: "Fred") 
user2 = User.create(name: "Bob") 
user3 = User.create(name: "Ron") 

現在我想給所有三個用戶一本書十次來測試我的應用程序。於是,我開始了這樣的:

book = Book.create(title: "My Book") 

我迷路瞭如何做each和分配的用戶之後。你知道怎麼?在這種情況下,質量分配安全並不重要,只需要數據進行視圖測試。

回答

5
User.all.each do |user| 
    10.times { |i| user.books << Book.create("Book number #{i}") } 
end 
4

這將查看所有用戶,然後循環10次,每次創建一本書(因此創建10本書)。

[user1, user2, user3].each do |user| 
    10.times do |i| 
    Book.create!(title: "Book ##{i}") 
    end 
end 
3

使用without_protection,如果你想跳過mass_assignment保護

[user1, user2, user3].each do |user| 
    10.times do |i| 
    Book.create!({title: "Book ##{i}"}, :without_protection => true) 
    end 
end 
相關問題