You dont need to structure the query to the db. you get all categories, 
subcategories and posts with @categories = Category.all (or something like 
Category.where(:xy => z)

You can iterate over the @categories like this:

@categories.each do |category|
   # Do stuff for your category iteration here
   category.sub_categories.each do |sub|
      # Do stuff of sub category here
      sub.posts.each_slice(5) do |slice|
         # Slice stuff here (each 5 posts do something, like a div or 
something.)
         slice.each do |post|
            # do single post stuff here
         end
      end
   end
end


Am Dienstag, 5. März 2013 02:43:50 UTC+1 schrieb Anthony DeFreitas:
>
> My question is how do I structure a query that will return all the 
> categories with the related sub-categories and the related posts.
>
> On Monday, March 4, 2013 5:34:42 PM UTC-4, Colin Law wrote:
>>
>> On 4 March 2013 15:35, Anthony DeFreitas <[email protected]> 
>> wrote: 
>> > I have the following models: 
>> > 
>> > Category: 
>> > has_many :sub_categories 
>> > 
>> > Sub_Category: 
>> > 
>> > belongs_to :category 
>> > has_many :posts 
>> > 
>> > Post: 
>> > belongs_to :sub_category 
>> > 
>> > I'm trying to build a page that will list Categories with Pjax tabs and 
>> then 
>> > each Category tab will list all it's Sub-Categories in widgets with 5 
>> posts 
>> > in each widget. 
>> > 
>> > I have an idea of how to loop through the data once I have it but I'm 
>> having 
>> > trouble structuring the query. Thanks for any help. 
>> > 
>> > @category.sub_categories.each do |sub_cat| 
>> >   sub_cat.posts.each_slice(5) do |posts| 
>> >     #here you create a widget, posts have at most 5 elements thanks to 
>> > each_slice method 
>> >     posts.each do |post| 
>> >       #do something with each post 
>> >     end 
>> >   end 
>> > end 
>>
>> It is not clear to me what question you are trying to ask here. 
>>
>> 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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/Af0irRumVVYJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to