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