0
我正在進行遷移,其中來自要刪除的列的某些數據需要轉換爲其他表單。不能保證所有數據在遷移時都可用,所以我需要在種子期間轉換數據。字符串到對象參考
我節省使用
Object.find_each do |object|
file_out.puts(object)
file_out.puts(object.attribute)
然而,閱讀本對象引用回來後,當對象和數據,使用
object = file_in.gets
我得到的錯誤
undefined method 'update_attributes' for `#<Object:0xe1b6f44>:String`
如何將該字符串轉換回實際的對象參考。由於數據庫使用模式,因此不保證數據庫列是唯一的。
不幸的是,我無法一次完成所有的「事情」,因爲有些信息實際上來自後來的遷移(我知道它很痛苦,但我無法繞過它)。由於這是在遷移和直接種子期間發生的事情,該對象仍然存在,我剛剛閱讀了有關序列化的相同ID – user3027875
,但似乎會失敗。每個模式中的默認對象可以具有相同的所有50個字段。 – user3027875
@ user3027875:序列化是一種將對象展平爲可以存儲(例如在磁盤上)或傳輸(通過網絡連接例如),ActiveRecord'serialize'方法通常與序列化沒有多大關係。您需要將對象序列化爲JSON,YAML或其他格式,而不是使用AR的'serialize'。 –