# Rails 3 telling me route doesn't exist

**URL:** <https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218>\
**Category:** Rails\
**Created:** [May 26, 2010, 11:23pm UTC](https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218 "2010-05-26T23:23:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![b1gtuna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8dc957/32.png) [@b1gtuna](https://www.ruby-forum.com/u/b1gtuna)\
**Post date:** [May 26, 2010, 11:23pm UTC](https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218/1 "2010-05-26T23:23:31Z")

</div>

– category.rb

class Category \< ActiveRecord::Base  
has\_many :subcategories

validates\_presence\_of :name  
validates\_uniqueness\_of :name  
end

– subcategory.rb

class Subcategory \< ActiveRecord::Base  
belongs\_to :category  
end

– categories\_controller.rb

def show  
@category = Category.find\_by\_id(params[:id])  
respond\_with @category  
end

– routes.rb

resources :categories do  
resources :subcategories  
end

– categories/show.html.erb

 \<%= link\_to "See all Categories", categories\_path %\> \<%= button\_to "delete this Category", category\_path(@category), :confirm =\> "Are you sure?", :method =\> :delete %\> 

# Category: \<%= @category.name %\>

 \<% @category.subcategories.each do |category| %\> \<% end %\> 

| Sub Category Name | &nbsp; |
| --- | --- |
| \<%= category.name %\> | &nbsp; |

 \<%= link\_to "Create a new Sub Category", new\_category\_subcategory(@category) %\>

Here is the error I am getting. I’ve tried recreating this resource,  
re-doing the routes. Restarting mongrel.  
undefined method `new\_category\_subcategory’ for  
#\<#Class:0x4a5ec34:0x4a5d600\>

---

<div class="post-metadata">

**Author:** ![b1gtuna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8dc957/32.png) [@b1gtuna](https://www.ruby-forum.com/u/b1gtuna)\
**Post date:** [May 26, 2010, 11:34pm UTC](https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218/2 "2010-05-26T23:34:27Z")

</div>

Does “rake routes” show anything helpful?

---

<div class="post-metadata">

**Author:** ![b1gtuna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8dc957/32.png) [@b1gtuna](https://www.ruby-forum.com/u/b1gtuna)\
**Post date:** [May 26, 2010, 11:37pm UTC](https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218/3 "2010-05-26T23:37:01Z")

</div>

Mike wrote:

> Does “rake routes” show anything helpful?

It shows me that the route exists.

```
    new_admin_session GET /admins/sign_in 

```

{:controller=\>“devise/sessions”, :action=\>“new”}  
admin\_session POST /admins/sign\_in  
{:controller=\>“devise/sessions”, :action=\>“create”}  
destroy\_admin\_session GET /admins/sign\_out  
{:controller=\>“devise/sessions”, :action=\>“destroy”}  
GET /listings(.:format)  
{:action=\>“index”, :controller=\>“listings”}  
listings POST /listings(.:format)  
{:action=\>“create”, :controller=\>“listings”}  
new\_listing GET /listings/new(.:format)  
{:action=\>“new”, :controller=\>“listings”}  
GET /listings/:id(.:format)  
{:action=\>“show”, :controller=\>“listings”}  
PUT /listings/:id(.:format)  
{:action=\>“update”, :controller=\>“listings”}  
listing DELETE /listings/:id(.:format)  
{:action=\>“destroy”, :controller=\>“listings”}  
edit\_listing GET /listings/:id/edit(.:format)  
{:action=\>“edit”, :controller=\>“listings”}  
GET /admins(.:format)  
{:action=\>“index”, :controller=\>“admins”}  
admins POST /admins(.:format)  
{:action=\>“create”, :controller=\>“admins”}  
new\_admin GET /admins/new(.:format)  
{:action=\>“new”, :controller=\>“admins”}  
GET /admins/:id(.:format)  
{:action=\>“show”, :controller=\>“admins”}  
PUT /admins/:id(.:format)  
{:action=\>“update”, :controller=\>“admins”}  
admin DELETE /admins/:id(.:format)  
{:action=\>“destroy”, :controller=\>“admins”}  
edit\_admin GET /admins/:id/edit(.:format)  
{:action=\>“edit”, :controller=\>“admins”}  
GET  
/categories/:category\_id/subcategories(.:format)  
{:action=\>“index”, :controller=\>“subcategories”}  
category\_subcategories POST  
/categories/:category\_id/subcategories(.:format)  
{:action=\>“create”, :controller=\>“subcategories”}  
new\_category\_subcategory GET  
/categories/:category\_id/subcategories/new(.:format)  
{:action=\>“new”, :controller=\>“subcategories”}  
GET  
/categories/:category\_id/subcategories/:id(.:format)  
{:action=\>“show”, :controller=\>“subcategories”}  
PUT  
/categories/:category\_id/subcategories/:id(.:format)  
{:action=\>“update”, :controller=\>“subcategories”}  
category\_subcategory DELETE  
/categories/:category\_id/subcategories/:id(.:format)  
{:action=\>“destroy”, :controller=\>“subcategories”}  
edit\_category\_subcategory GET  
/categories/:category\_id/subcategories/:id/edit(.:format)  
{:action=\>“edit”, :controller=\>“subcategories”}  
GET /categories(.:format)  
{:action=\>“index”, :controller=\>“categories”}  
categories POST /categories(.:format)  
{:action=\>“create”, :controller=\>“categories”}  
new\_category GET /categories/new(.:format)  
{:action=\>“new”, :controller=\>“categories”}  
GET /categories/:id(.:format)  
{:action=\>“show”, :controller=\>“categories”}  
PUT /categories/:id(.:format)  
{:action=\>“update”, :controller=\>“categories”}  
category DELETE /categories/:id(.:format)  
{:action=\>“destroy”, :controller=\>“categories”}  
edit\_category GET /categories/:id/edit(.:format)  
{:action=\>“edit”, :controller=\>“categories”}  
new\_user\_session GET /users/login  
{:controller=\>“devise/sessions”, :action=\>“new”}  
user\_session POST /users/login  
{:controller=\>“devise/sessions”, :action=\>“create”}  
destroy\_user\_session GET /users/logout  
{:controller=\>“devise/sessions”, :action=\>“destroy”}  
POST /users/password(.:format)  
{:action=\>“create”, :controller=\>“devise/passwords”}  
user\_password PUT /users/password(.:format)  
{:action=\>“update”, :controller=\>“devise/passwords”}  
new\_user\_password GET /users/password/new(.:format)  
{:action=\>“new”, :controller=\>“devise/passwords”}  
edit\_user\_password GET /users/password/edit(.:format)  
{:action=\>“edit”, :controller=\>“devise/passwords”}  
POST /users(.:format)  
{:action=\>“create”, :controller=\>“registrations”}  
PUT /users(.:format)  
{:action=\>“update”, :controller=\>“registrations”}  
user\_registration DELETE /users(.:format)  
{:action=\>“destroy”, :controller=\>“registrations”}  
new\_user\_registration GET /users/register(.:format)  
{:action=\>“new”, :controller=\>“registrations”}  
edit\_user\_registration GET /users/edit(.:format)  
{:action=\>“edit”, :controller=\>“registrations”}  
root /  
{:controller=\>“home”, :action=\>“index”}  
about /about  
{:controller=\>“home”, :action=\>“about”}  
profile /profile  
{:controller=\>“user”, :action=\>“profile”}  
users\_change\_password /users/change\_password  
{:controller=\>“registrations”, :action=\>“change\_password”}  
users\_update\_password /users/update\_password  
{:controller=\>“registrations”, :action=\>“update\_password”}

---

<div class="post-metadata">

**Author:** ![b1gtuna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8dc957/32.png) [@b1gtuna](https://www.ruby-forum.com/u/b1gtuna)\
**Post date:** [May 28, 2010, 4:05am UTC](https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218/4 "2010-05-28T04:05:57Z")

</div>

removed\_email\_address@domain.invalid wrote:

> Dude, it’s new\_category\_subcategory\_path(@category), you missed a  
> “\_path”

Yeah I found out today, I feel really stupid 😕

---

<div class="post-metadata">

**Author:** ![b1gtuna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8dc957/32.png) [@b1gtuna](https://www.ruby-forum.com/u/b1gtuna)\
**Post date:** [May 28, 2010, 3:50am UTC](https://www.ruby-forum.com/t/rails-3-telling-me-route-doesnt-exist/189218/5 "2010-05-28T03:50:27Z")

</div>

Dude, it’s new\_category\_subcategory\_path(@category), you missed a  
“\_path”
