Forum: Ruby on Rails Using belongs_to within instance method

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F677fa685a2cfe8aff31f161062db3d3?d=identicon&s=25 David (Guest)
on 2009-03-01 21:07
(Received via mailing list)
Is it possible to use model associations with an instance method?  For
example, I have:

Class Reminder
  belongs_to :event

#and i want to access the event id within a Reminder instance method:
def find_event_id

  id = Event.find(event_id).user.id
#this works but im wondering if its possible to do something like:

id = this_reminder.event.user.id?

end
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-03-01 21:42
(Received via mailing list)
On Mar 1, 8:06 pm, David <dly...@gmail.com> wrote:
> #this works but im wondering if its possible to do something like:
>
> id = this_reminder.event.user.id?
>
Unless I'm horribly misunderstanding, why not do event.user.id  ?
When you do belongs_to :event that creates an instance method called
event on the Reminder class, so you can just go ahead and call this.
The 'this_reminder' you wrote is basically self but if you don't
specify a target for your method calls the ruby assumes self ie

self.event.user.id

is the same as

event.user.id [1]

Fred

[1] Not quite the same. If you had a local variable called event then
when you wrote event.user.id ruby would assume that you were talking
about the local variable not the method whereas with self there is no
ambiguity


Fred
This topic is locked and can not be replied to.