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!