小問題......這是解決什麼是簡單的破解,似乎愚蠢不能修復!Ruby - 交換兩個ActiveRecord實例的主鍵?優雅
如果從ActiveRecord派生的同一類有兩個項目,我如何交換他們的主鍵?下面的代碼工作,但看看它!
class Item < ActiveRecord::Base
self.primary_keys = :p_key
def self.swap(a, b)
return if a.nil? or a.nil?
# fix this hack!
temp_1 = a.p_key
a.p_key = "999999" #these keys cannot ever occur in our software... promise!
a.p_key.save!
a.p_key = b.p_key
b.p_key = temp_2
b.save!
a.save!
end
end
呃!這是毛病!
下面的代碼將導致一個錯誤:
a.p_key, b.p_key = b.p_key, a.p_key
a.save!
b.save!
在更高的層次上,你想要做什麼? – eabraham