0
當「0.5」關閉時,我需要創建一個新的市場「3.5」。問題在於,出於某種原因,很多時候,只有在其生成的服務器上創建了重複的「3.5」,恰好在它關閉0.5並打開第一個3.5的同時。有什麼辦法可以防止創建重複記錄嗎?大多數時候它會創建單個記錄,但出於某種原因,我無法弄清楚,有時候它會混亂起來。Rails意外地創建重複記錄
這裏是有問題的部分代碼:
######CLOSE 0.5/OPENS 3.5
if self.markets.find_by_name('0.5') != nil then
if result.sum >= 1 && (self.markets.find_by_name('0.5').status == "live" || self.markets.find_by_name('0.5').status == "pre-live")
if self.markets.find_by_name('0.5').settle_temp.to_i == 6
selection = "Over 0.5 Goals"
if self.markets.find_by_name('0.5').status == "live" || self.markets.find_by_name('0.5').status == "pre-live"
self.markets.find_by_name('0.5').close(selection)
end
if self.markets.find_by_name('3.5') == nil then
self.markets.create!(name: "3.5", status: "live")
end
else
self.markets.find_by_name('0.5').increment!(:settle_temp)
end
end
end
「問題」是市場名稱不是唯一的。它們對於每個「event_id」(表格的另一個屬性)都是唯一的。因爲這個原因你的解決方案是不可能的。我刪除了創建!並放置「創建」。讓我們看看它是否與驗證不重複(我認爲「!」跳過那個對吧?) – ace 2015-02-08 22:17:05
應該修復!謝謝 – ace 2015-02-09 15:53:17
您可以將問題標記爲已回答,不要混淆未來的讀者:) – 2015-02-09 17:00:14