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

Sergio Sergio wrote:

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

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 ?

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

Fred