Friday, March 8, 2013

Re: [Rails] Filter via has_many, but show all has_many objects in result

On 7 March 2013 21:34, <dcecuweb@gmail.com> wrote:
> I have a model, resource, which has_many categories:
>
> has_many :category_resources, :dependent => :destroy
> has_many :categories, :through => :category_resources
>
> I have it setup to filter on categories, for a list view:
> records =
> Resource.includes(:categories).where("category_resources.category_id" =>
> categories)

Can you explain in words what you are trying to achieve with the query
above please.

>
> But I want it to still show all categories for a particular resource the
> listing, rather than just what was searched on.
>
> eg, a resource, apple, has the categories, Food, Fruit, and Red.
>
> If you select the resource Food, it should show:
> Name: Apple
> Categories: [Food, Fruit, Red]
>
> Instead, I'm just getting:
> Name: Apple
> Categories: [Food]

If you have a Resource in resource, then resource.categories should
always show you all the categories.

Colin

--
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.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate