IDs problem

Hi,

I have a model “Theme” which has_and_belongs_to_many “Lessons”.

I need to get the (db) id of the lessons through the theme.
For instance, if in irb I write something like this :

test = Theme.find(:first)
puts test.lessons.first.id

I get the ID of test (the theme) and not of the lesson.

Do you know how to get the id of the nested object instead ?

Thanks
Lily

Maybe they have the same id :-), checkout your database and see if they
have
the same id

2010/7/21 Lily :slight_smile: [email protected]

Sergio S. wrote:

Maybe they have the same id :-), checkout your database and see if they
have
the same id

2010/7/21 Lily :slight_smile: [email protected]

Already checked :slight_smile:
The parent has ID 3 in its table.
The lesson has ID 1 in its table.

And thetheme.thelesson.id gives “3”…

Well actually it’s in an XML builder, maybe you’ll find a mistake :

xml.list do
theme.lessons.each do |lesson|
xml.item do
xml.label lesson.title
xml.link “/lessons/” + lesson.id.to_s + “.xml”
end
end
end

The way I’m writing xml.link is really not graceful, I admit. It’s the
first time I need to do something such so if there’s a nicer way to do
it, i would be glad to know.

then, the lesson.id is incorrect but the lesson.title is ok ?.. does
your
HABTM table contains just the theme_id and lesson_id fields ?

2010/7/21 Lily :slight_smile: [email protected]

On Jul 21, 4:14 pm, Lily :slight_smile: [email protected] wrote:

I get the ID of test (the theme) and not of the lesson.

Do you know how to get the id of the nested object instead ?

if your join table has an id column weird stuff like this will happen

Fred

Frederick C. wrote:

On Jul 21, 4:14�pm, Lily :slight_smile: [email protected] wrote:

I get the ID of test (the theme) and not of the lesson.

Do you know how to get the id of the nested object instead ?

if your join table has an id column weird stuff like this will happen

Fred

Thank you so much guys !!!

I forgot to remove the id in the join table creation migration file. So
the join table had an incremential id and lessons.id was actually the
join table line id (which was by chance the same as theme.id)…
confusing.

I fixed it and it works perfect now. Thank you! I wouldn’t have thought
about checking this :S

Have a nice day
Lily