# Find\_by\_name won't return record id

**URL:** <https://www.ruby-forum.com/t/find-by-name-wont-return-record-id/143668>\
**Category:** Rails\
**Created:** [July 21, 2008, 6:07pm UTC](https://www.ruby-forum.com/t/find-by-name-wont-return-record-id/143668 "2008-07-21T18:07:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bubba\_baloo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/7feea3/32.png) [@bubba\_baloo](https://www.ruby-forum.com/u/bubba_baloo)\
**Post date:** [July 21, 2008, 6:07pm UTC](https://www.ruby-forum.com/t/find-by-name-wont-return-record-id/143668/1 "2008-07-21T18:07:00Z")

</div>

Okay - so I’m finally making my first post after a couple of months  
with RoR. Thanks for all the great information so far.

I’m using mysql. I have a model called “Role”. I’m trying to retrieve  
the id for a record that has name = “Admin”. From the Ruby console:

> > Role.find\_by\_name(“Admin”)  
> > =\> #\<Role id: 233, created\_at: “2008-07-21 12:55:27”, updated\_at:  
> > “2008-07-21 12:55:27”, name: “Admin”\>
> 
> > Role.find\_by\_name(“Admin”).name  
> > =\> “Admin”
> 
> > Role.find\_by\_name(“Admin”).id  
> > =\> nil

As you can see, Role.find\_by\_name(“Admin”) returns a record with id:  
233.

So, why does Role.find\_by\_name(“Admin”).id return nil?

If I go into MySQL Query Browser, I can do SELECT id FROM roles WHERE  
name = “Admin” and I get back “233” - everything’s groovy.

I’m sure I’m doing something dorky - apologies in advance…

---

<div class="post-metadata">

**Author:** ![bubba\_baloo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/7feea3/32.png) [@bubba\_baloo](https://www.ruby-forum.com/u/bubba_baloo)\
**Post date:** [July 21, 2008, 6:55pm UTC](https://www.ruby-forum.com/t/find-by-name-wont-return-record-id/143668/2 "2008-07-21T18:55:54Z")

</div>

UGH. Totally dumb.

My Role model had:

def id  
end

Thus, overriding the accessor. Not sure how that got there - but,  
problem solved.
