title: Get all products that belong to a category or parent-n category
body: <p>I have a Category structure like so:</p>
  
  <pre><code>- Cars
    - 4 Door
      - Sedan
      - SUV
    - 2 Door
      - Sports
      - Race 
  </code></pre>
  
  <p>A Product can belong_to a single Category, and given the way I set up the UI, the user can only select from a leaf node.</p>
  
  <pre><code>class Product &lt; ActiveRecord::Base
    belongs_to :category
  end
  
  class Category &lt; ActiveRecord::Base
    has_many :subcategories, class_name: 'Category', foreign_key: 'parent_id', dependent: :destroy
    belongs_to :parent_category, class_name: 'Category'
    has_many :products
  end
  </code></pre>
  
  <p>Now, when they are browsing around, I can list products from the Sedan category, no problem. But what about when they click Cars, it should show all products in 4 Door (Sedan, SUV) and 2 Door (Sports, Race) since they are child categories.</p>
  
  <p>Or when they click on 4 Door, it should list all products in Sedan <em>and</em> SUV. Does that make sense?</p>
  
  <p>How can I get all products that are inside a given category?</p>