sql help

10 views
Skip to first unread message

Joe Guerra

unread,
Apr 14, 2017, 12:43:42 PM4/14/17
to Ruby on Rails: Talk
I need to return a product title from an id.   I've tried the following...

<%= Product.where( ['id =?', iu.product_id ]).select('title') %>

but it gives me a reference...

#<Product::ActiveRecord_Relation:0x007faca389eca0>

I've tried a number of things.

Any hints?

Thanks,
Joe

Joe Guerra

unread,
Apr 14, 2017, 12:50:29 PM4/14/17
to Ruby on Rails: Talk
ok, I've got it working but...

 <%= Product.where( ['id =?', iu.product_id ]).pluck("title") %>

It's got [' '] around my title.

nanaya

unread,
Apr 14, 2017, 12:59:08 PM4/14/17
to rubyonra...@googlegroups.com
Hi,

On Sat, Apr 15, 2017, at 01:50, Joe Guerra wrote:
> ok, I've got it working but...
>
> <%= Product.where( ['id =?', iu.product_id ]).pluck("title") %>
>
>
> *It's got [' '] around my title.*
>

Short fix is you probably want `Product.find(iu.product_id).title`.

[' '] you're seeing is caused by pluck returning an array and that's how
ruby turns array into string.

To be slightly more correct, you should add relation from iu's model to
product so you can use iu.product.title instead.

Colin Law

unread,
Apr 14, 2017, 3:38:10 PM4/14/17
to Ruby on Rails: Talk


On 14 Apr 2017 5:50 p.m., "Joe Guerra" <JGu...@jginfosys.com> wrote:
ok, I've got it working but...

 <%= Product.where( ['id =?', iu.product_id ]).pluck("title") %>
Assuming that you have setup your relationships so that iu belongs_to product you can say

iu.product.title

Colin


On Friday, April 14, 2017 at 12:43:42 PM UTC-4, Joe Guerra wrote:
I need to return a product title from an id.   I've tried the following...

<%= Product.where( ['id =?', iu.product_id ]).select('title') %>

but it gives me a reference...

#<Product::ActiveRecord_Relation:0x007faca389eca0>

I've tried a number of things.

Any hints?

Thanks,
Joe

--
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/e059f192-036d-4c83-86ea-1ecfc90453ee%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Joe Guerra

unread,
Apr 14, 2017, 7:24:07 PM4/14/17
to Ruby on Rails: Talk
Thanks.  This worked.
Reply all
Reply to author
Forward
0 new messages