In einer Tabelle einer MySQL-Datenbank gibt es u.a ein Feld mit Namen object_id und integer-Werten.
Beim Auslesen mit der console wird alles richtig angezeigt:
>>Objects.find(:first)
=> ..., object_id: 2001, ...
Wenn man dann aber auf das Attribut direkt zugreift, erhält man:
>>Objects.find(:first).object_id
=> -612810548
Wenn man nun ein anderes Attribut anzeigen lässt (alle anderen Attribute werden richtig angezeigt), etwa:
>>Objects.find(:first).sort_value
=> "richtiger String"
und danach wieder auf object_id zugreift, wird der Wert richtig angezeigt:
>>Objects.find(:first).object_id
=> 2001
Das Problem taucht nur bei diesem einen Attribut auf, ist aber nicht auf die Console beschränkt.
Die Datenbank wurde nicht mit Rails angelegt. Andere Tools, etwa der mysql-Client lesen die Werte richtig.
Ruby Version: 1.8.7 (i686-linux), RubyGems Version: 1.3.1, Rails Version: 2.2.2, ActiveRecord Version: 2.2.2
Linux version 2.6.16.60-0.21-bigsmp (geeko@buildhost) (gcc version 4.1.2 20070115 (SUSE Linux)) #1
Es würde mich freuen, wenn mir jemand eine Erkärung dazu liefern könnte.
Vielen Dank
Wolf

