通过订阅和取消订阅用户循环
问题描述:
我遇到了我正在构建的Twilio应用程序的问题。现在我有一个选项可以让用户'取消订阅',但如果他们仍然收到一条消息。它是有道理的,他们我只是不知道如何改变它。我在这个问题的底部将包含的方法尝试了其他的说法。他们的方式我可以循环通过取消订阅和订阅一个if else?通过订阅和取消订阅用户循环
def send_message(msg)
if Person.subscribed == true
@twilio_number = ENV["TWILIO_NUMBER"]
@client = Twilio::REST::Client.new ENV["TWILIO_ACCOUNT_SID"], ENV["TWILIO_AUTH_TOKEN"]
@client.account.messages.create(
from: @twilio_number,
to: phone_number,
body: msg
)
end
end
现在,如果一个人取消订阅,它会发送给任何人,我只是希望它发送到订阅。
答
您可以通过所有Person
对象迭代:
Person.find_each do |person|
if person.subscribed
# code here
else
# code here
end
end
附:
。注意,默认情况下的解决方案是使用each
通过ActiveRecord对象进行迭代,但我强烈建议使用find_each
,因为它会在批次内存中加载记录(10000是缺省的批处理大小),而each
会一次加载所有记录。