2

Rails (4.0.0) と Ruby (2.0.0) は初めてで、各ユーザーに同じ本を 10 回配布する方法を知りたいと思っていました。まず、3 人のユーザーを作成します。

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

ここで、アプリケーションをテストするために、3 人のユーザー全員に 1 冊の本を 10 回渡したいと考えています。だから私はこのように始めます:

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

each方法とユーザーの割り当てに迷った後。をする方法知ってますか?この状況では一括割り当てセキュリティは問題ではなく、ビュー テスト用のデータが必要なだけです。

4

3 に答える 3

7
User.all.find_each do |user|
  10.times { |i| user.books << Book.create!(title: "Book number #{i}") }
end
于 2013-09-30T16:01:55.570 に答える
3

without_protectionmass_assignment 保護をスキップする場合に使用します

[user1, user2, user3].each do |user|
  10.times do |i|
    Book.create!({title: "Book ##{i}"}, :without_protection => true)
  end
end
于 2013-09-30T16:02:10.853 に答える