In catalog.html.erb
<div>
<table>
<% @category.descendants.each do |category| %>
<% category.listings.each do |listing| %>
<%= listing.title %>
<% end %>
<% end %>
</table>
</div>
If my suggestion in the other thread does not help then you can debug
this by using the logger. You could make the above look like
<table>
<% logger.info "descendants count = #{@category.descendants.count}" %>
<% @category.descendants.each do |category| %>
<% logger.info "listings count = #{category.listings.count}" %>
<% category.listings.each do |listing| %>
<% logger.info listing.inspect %>
<%= listing.title %>
Then you can look in the log to get an idea of what is happening.
Perhaps the category has no descendants or they have no listings.
See below also
In my routes.rb
get '/store/catalog/:id' => 'store#catalog'
In my store_controller.rb
def catalog
@category=Category.find(params[:id])
end
In category.rb
class Category < ActiveRecord::Base
acts_as_nested_set
has_many :listings
end
In listing.rb
class Listing < ActiveRecord::Base
belongs_to :categories
That should be category not categories, though I am surprised that did
not give an error. I hope you are copy/pasting here not re-typing.
I deleted all the rows in the categories table and re-created the categories following the instructions in awesome_nested_set cheat sheet but still only a blank page loads Here’s the latest from development.log ~ thanks
Started GET “/store/catalog/1” for 127.0.0.1 at 2015-11-25 20:01:20 -0500
Processing by StoreController#catalog as HTML
Parameters: {“id”=>“1”}
[1m[35mCategory Load (0.2ms)[0m SELECT categories.* FROM categories WHERE categories.id = 1 LIMIT 1
[1m[36mCACHE (0.0ms)[0m [1mSELECT categories.* FROM categories WHERE categories.id = 1 LIMIT 1[0m [[“id”, “1”]]
[1m[35m (0.4ms)[0m SELECT COUNT() FROM categories WHERE (categories.lft >= 1) AND (categories.lft < 8) AND (categories.id != 1)
descendants count = 3
[1m[36mCategory Load (0.2ms)[0m [1mSELECT categories. FROM categories WHERE (categories.lft >= 1) AND (categories.lft < 8) AND (categories.id != 1) ORDER BY categories.lft[0m
[1m[35mListing Load (0.2ms)[0m SELECT listings.* FROM listings WHERE listings.category_id = 2
[1m[36mListing Load (0.2ms)[0m [1mSELECT listings.* FROM listings WHERE listings.category_id = 3[0m
[1m[35mListing Load (0.2ms)[0m SELECT listings.* FROM listings WHERE listings.category_id = 4
Rendered store/catalog.html.erb within layouts/store (7.8ms)
[1m[36mAdmin Load (0.2ms)[0m [1mSELECT admins.* FROM admins WHERE admins.id = 1 ORDER BY admins.id ASC LIMIT 1[0m
Completed 200 OK in 113ms (Views: 109.3ms | ActiveRecord: 1.6ms)