Not getting all data fields from Rails query


I am trying to get specific fields returned from my query but I am not
getting some of them.

For example when I use

User.joins(:books).select(“, users.fname,”).find(7)

The generated SQL Query from above code is

SELECT, users.fname,
FROM users
INNER JOIN book_users ON = book_users.user_id
INNER JOIN books ON = book_users.book_id

Output received is -

#<User email: “[email protected]”, fname: “Arlene”>

Rails doesn’t return the even though the generated sql
query has that an if I run the sql directly I get the three columns.

I am on Rails 3.0.5 and Ruby 1.9.2p180. Is there any configuration
setting to enable this or am I missing something here?



You are getting all the fields it’s just that the console is only
the user object.
try this:

user = User.joins(:books).select(", users.fname,

You might want to take look at Hirb, it’s a mini view framework for your
console(you will be able to view all fields in a nice formatted table)

Hope it helps.

On Thu, Jun 2, 2011 at 9:02 PM, skt [email protected] wrote:

The generated SQL Query from above code is
#<User email: “[email protected]”, fname: “Arlene”>

You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at


Thanks Jazmin. I was wondering what was going on and wasn’t aware that
console didn’t show all the values - it is very misleading if one
isn’t aware of this.

Thanks again.