从rails控制台,我需要能够在我的rails应用程序的Postgres数据库中发送所有未被接受的邀请。(我有一个名为Invitations的表,其中有一个名为accepted的布尔字段)。
从控制台中,以下代码成功地查找所有未接受的邀请,并在变量中仅存储第一个邀请。下一行只发送那个。

invitation = Invitation.find_by(accepted: 'FALSE')
invitation.send!

如何将所有未接受的邀请存储到变量中,然后使用invitation.send!派他们去?谢谢

最佳答案

你想这样做:

Invitation.where(accepted: 'FALSE').each do |inv|
  inv.send!
end

您也可以使用下面注释中建议的find_each
Invitation.where(accepted: 'FALSE').find_each do |inv|
  inv.send!
end

一个衬垫,如lest所示:
Invitation.where(accepted: 'FALSE').find_each(&:send!)

如果您明确希望首先存储变量的所有未接受邀请,可以执行以下操作:
unaccepted_invitations = Invitation.where(accepted: 'FALSE')

然后您可以用上面的一个循环遍历它们,只需用Invitation.where(accepted: 'FALSE')变量替换unaccepted_invitations

09-27 09:51