Just using DataMapper for the first time. I have set up a table in a MySQL database and am connecting to that. I have defined the following mapping:
class Track_Scan
include DataMapper::Resource
property :item_id, Integer
property :current_station_id, Integer
property :next_station_id, Integer
end
It returns the right number of items – e.g. if there are five records in the DB for a given id, Track_Scan.all(:item_id => my_id) will yield a group of five objects – but when I call each on this, I see the same object five times:
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
rather than five different objects with different values in their current_station_id and next_station_id as they actually do in the table.
Any help?
Your model is missing a key. If you want to use a composite key you need to do this:
Also, after all your models are required you need to call:
Hope this helps