Cookbook2 tutorial error: The error occured while evaluatin

I am following the Cookbook2 tutorial on the InstantRails website (
http://instantrails.rubyforge.org/tutorial/index.html ). I am almost
finshed with the tutorial but have started getting the following error:

NoMethodError in Recipe#list

Showing app/views/recipe/list.rhtml where line #24 raised:

You have a nil object when you didn’t expect it!
The error occured while evaluating nil.name

Extracted source (around line #24):

21: :confirm => “Really delete #{recipe.title}?” %>
22:
23:
24:

<%= recipe.category.name %>
25: <%= recipe.date %>
26:
27: <% end %>

RAILS_ROOT: ./script/…/config/…
Application Trace | Framework Trace | Full Trace

#{RAILS_ROOT}/app/views/recipe/list.rhtml:24
#{RAILS_ROOT}/app/views/recipe/list.rhtml:11

And here are the first three lines of the Full Trace:

C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:268:in
compile_and_render_template' C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:244:inrender_template’
C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_view/base.rb:205:in
`render_file’

I have attempted double checking the code throughout the tutorial, but
I am just not seeing what is causing the error. I figure it is a small
typing error, but I do not know how to isolate which section of code it
is in. Any suggestions would be welcomed.

Thank you for your time.

John

I forgot to mention I am getting the error when I attempt to “add a
new recipe like the one shown in Figure 56.”.

Thanks,
John

Well I figured it out in case anyone searches for this same problem…
The receipe table had a row with a category_id of 0. Note that the
category table does not have a row for 0.

Not sure how this wound up in the DB like that, but I manually fixed it
by changing the 0 to a 1.

Hope this helps someone else learning ruby!

Thanks, I’ll see if we can get something added to the tutorial about
this.

Curt

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs