Rails activeRecord创建一个记录,但有一些条件

时间:2018-02-05 15:44:18

标签: ruby-on-rails activerecord

我想在表跟踪中使用lib / dev:fake和

创建500个随机记录

条件是user_id!= followship_id。

Followship有这些列[id,user_id,following_id,....]

这是我的代码

500.times do |i|

  followship = Followship.new(        
    user: User.all.sample,
    following: User.all.sample
  )
  if followship.user_id != followship.following_id
    followship.save!     
  end
end

显然,这是错的。但是我该如何解决这个问题并确保确实有500个

没有重复的随机记录?

希望有人能帮助我......谢谢!

1 个答案:

答案 0 :(得分:1)

您可以执行类似

的操作
500.times do |i|
  user = User.all.sample
  following = (User.all - [user]).sample

  Followship.create(        
    user: user,
    following: following
  )
end