我一直希望你能幫我解決一直困擾我很久的問題。我有一個有票的數據庫。這些票據包含狀態等信息。我的應用程序使用Zendesk API從支持票據獲取信息並將它們存儲到我的數據庫中。數據庫在Rails中沒有正確更新
我想要做的是將票的以前和當前狀態存儲到我的數據庫中。我正在嘗試通過在更新數據庫之前存儲舊值來實現此目的。起初這似乎很好。每當我改變Zendesk的狀態時,我的應用程序會將previous_state更改爲舊狀態值,並將實際狀態更改爲從Zendesk收集的狀態。
但是,每次刷新頁面時都會出錯。當發生這種情況(並且再次調用該方法)時,出於某種原因,它會將previous_state和state都放在相同的值上。我必須在我的更新或存儲行中做錯某些事情,但我無法弄清楚。我希望有人能幫助我。
Ticket是Ticket數據庫,客戶端是zendesk連接。最後一個循環檢查狀態和previous_status是否相同,如果是,則嘗試使用zendesk將之前的狀態恢復到之前的狀態。這個想法是,在實際狀態改變之前,以前的狀態保持不變。
previousTickets = Ticket.all
Ticket.all.each do |old|
old.update(:previous_status => old.status)
end
client.tickets.each do |zt|
Ticket.find_by(:ticket_id => zt.id).update(
subject: zt.subject,
description: zt.description,
ticket_type: zt.type,
status: zt.status,
created: zt.created_at,
organization_id: zt.organization_id,
)
end
Ticket.all.each do |newTicket|
if(newTicket.status == newTicket.previous_status)
b = previousTickets.find_by(:ticket_id => newTicket.ticket_id)
c = b.previous_status
newTicket.update(:previous_status => c)
end
end
謝謝你,做到了!真的很感激:) – Robin