1
我注意到,通過以編程方式從父對象遍歷到子對象,然後再回來,我得到的父對象與原始對象不一樣。Rails - ActiveRecord - 它如何填充對象和關係?
例如:
父類:Car
子類:Seat
一個car
有許多seats
puts(@car.to_s) => a memory address
puts(@car.seats.first.car.to_s) => totally different address
我注意到這一點,因爲我最近增加了一個新的字符串場通過遷移,並試圖通過traversin讀取它克從座位回來的關係,該領域總是零!但是,將該字段添加到腳手架視圖並檢查數據庫,新字段和值就在那裏。
這很奇怪,因爲所有的舊字段都可用。這只是新的不是。對於它的價值,倒數第二個字段也是一個字符串。
這是怎麼回事?我需要做什麼?謝謝!
謝謝你的指針:inverse_of,良好的閱讀。不幸的是,它並沒有真正的工作。這些地址現在更加一致,但有時它仍然指向不同的地方。真的,最大的問題是這個場在我回溯時消失了......如果我直接獲取Car記錄,那麼這個問題是可用的。我甚至嘗試升級到3.1/1.9.2 ... – James