sql help

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

sql help

Joe Guerra
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 [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/69ccb5b2-416a-4771-a611-2fafce1753b8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: sql help

Joe Guerra
ok, I've got it working but...

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

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



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 [hidden email].
To post to this group, send email to [hidden email].
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.
Reply | Threaded
Open this post in threaded view
|

Re: sql help

nanaya-2
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.

--
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 [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1492189114.2188825.944821736.05BEB15F%40webmail.messagingengine.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: sql help

Colin Law
In reply to this post by Joe Guerra


On 14 Apr 2017 5:50 p.m., "Joe Guerra" <[hidden email]> 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 [hidden email].
To post to this group, send email to [hidden email].
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.


--
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 [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLvEn5MXBDPq7ndT5J-yBgGg%3D_YSsPBXCgq1_Wro27vEww%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: sql help

Joe Guerra
In reply to this post by nanaya-2
Thanks.  This worked.

On Friday, April 14, 2017 at 12:59:08 PM UTC-4, nanaya wrote:
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.

--
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 [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/247ad788-f541-44fd-a3e4-dbeb81cdfd96%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.