私は、親オブジェクトから子オブジェクトへプログラムでトラバースした後、元のオブジェクトと同じではない親オブジェクトが戻ってくることに気付きました。例えばRails - ActiveRecord - オブジェクトとリレーションシップをどのように埋め込むのですか?
:
親クラス:Car
子供クラス:私は最近、新しい文字列フィールドを追加しましたので、私はこれに気づいたseats
puts(@car.to_s) => a memory address
puts(@car.seats.first.car.to_s) => totally different address
多くSeat
car
が持っていますマイグレーションによってCarに、そしてtraversinでそれを読もうとすることによってgの関係は、座席から戻って、そのフィールドは常にゼロだった!しかし、スカホールドビューにフィールドを追加してデータベースをチェックすると、新しいフィールドと値がそこにあります。
すべての古いフィールドが利用可能であるため、これは奇妙です。それは新しいものだけではありません。それが価値あるものであれば、最後から2番目のフィールドも文字列です。
フードの下では何が起こっていますか?私は何をする必要がありますか?ありがとう!
ありがとう:inverse_of、良い読書。残念ながら、実際には機能しませんでした。アドレスはもう少し一貫していますが、時にはまだ別のものを指していることがあります。本当に、最大の問題は、この1つのフィールドが、私が後ろを横切って消えることです...私はCarレコードを直接取り出すことができます。私も3.1/1.9.2にアップグレードしようとしました... – James