Ruby on Rails Wednesday, January 29, 2014




On Wed, Jan 29, 2014 at 9:13 PM, Dave Castellano <lists@ruby-forum.com> wrote:
Hi,

I am searching for a record using "where":

@profile = Profile.where(:user_id => current_user.id)

This returns:
=> [#<Profile id: 6, user_id: 19, last_subject_id: 6, last_book_id: 2,
last_chapter_id: 1, last_section_id: 1, last_subsection_id: 1,
last_minisection_id: 20, about: nil, image: nil, created_at: "2013-03-13
01:45:44", updated_at: "2014-01-30 02:11:54", students_last_subject_id:
6, students_last_book_id: nil, students_last_chapter_id: nil>]

I am trying to then access "students_last_subject_id" using several
methods including @profile.students_last_subject_id,
but it keeps returning nil.  With the enclosing brackets i am guessing
this is not a hash..

Can anyone help?

Thanks,

Dave

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/536937e965138f93933c40f8e3f2df68%40ruby-forum.com.
For more options, visit https://groups.google.com/groups/opt_out.

Nope. where returns an array containing all the records it finds, even if it's only one. If you know, or at least are pretty sure, your search will only give one row object, you can use find_by, or just pull the first element from the where's array:

@profile = Profile.find_by(:user_id => current_user.id)

@profile = Profile.where(:user_id => current_user.id).first


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t_5NXnraDojcdbbwXr4nZodRWu7-g7yKy1xuMUysH%3DXGw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment