从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
。