IDs problem

0 views
Skip to first unread message

Lily ^_^

unread,
Jul 21, 2010, 11:14:23 AM7/21/10
to rubyonra...@googlegroups.com
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
--
Posted via http://www.ruby-forum.com/.

Sergio Sergio

unread,
Jul 21, 2010, 11:18:10 AM7/21/10
to rubyonra...@googlegroups.com
Maybe they have the same id :-), checkout your database and see if they have the same id

2010/7/21 Lily ^_^ <li...@ruby-forum.com>

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.


Lily ^_^

unread,
Jul 21, 2010, 11:29:41 AM7/21/10
to rubyonra...@googlegroups.com
Sergio Sergio wrote:
> Maybe they have the same id :-), checkout your database and see if they
> have
> the same id
>
> 2010/7/21 Lily ^_^ <li...@ruby-forum.com>

Already checked :)
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.

Sergio Sergio

unread,
Jul 21, 2010, 12:25:07 PM7/21/10
to rubyonra...@googlegroups.com
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 ^_^ <li...@ruby-forum.com>

Frederick Cheung

unread,
Jul 21, 2010, 12:27:14 PM7/21/10
to Ruby on Rails: Talk


On Jul 21, 4:14 pm, Lily ^_^ <li...@ruby-forum.com> wrote:
> 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 ?
>

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

Fred
Reply all
Reply to author
Forward
0 new messages