# Simple Routing Error

**URL:** <https://www.ruby-forum.com/t/simple-routing-error/136625>\
**Category:** Rails\
**Created:** [May 4, 2008, 7:20pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625 "2008-05-04T19:20:22Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [May 4, 2008, 7:20pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625/1 "2008-05-04T19:20:22Z")

</div>

Routing Error

No route matches “/user/register” with {:method=\>:get}

The URL is [http://localhost:3000/user/register](http://localhost:3000/user/register)

Here is app/views/user/register.rhtml

## Register
\<% form\_for :user do |form| %\> Enter Your Details 
 Screen name: \<%= form.text\_field :screen\_name %\> 

```
<div class="form_row">
  <label for="email">Email:</label>
  <%= form.text_field :email %>
</div>

<div class="form_row">
  <label for="password">Password:</label>
  <%= form.password_field :password %>
</div>

<div class="form_row">
  <%= submit_tag "Register!", :class => "submit" %>
</div>

```

 \<% end %\>

Also app/controllers/user\_controller.rb

class UserController \< ApplicationController

def index  
end  
def register  
@title = “Register”  
end  
end

---

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [May 4, 2008, 7:42pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625/2 "2008-05-04T19:42:51Z")

</div>

Don’t know, if that’s the reason: But your controller should be plural.  
So the URL would also be plural.

Martin

Sean S. schrieb:

---

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [May 4, 2008, 8:13pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625/3 "2008-05-04T20:13:53Z")

</div>

I am not sure I understand by what you mean by plural.

---

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [May 4, 2008, 8:29pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625/4 "2008-05-04T20:29:55Z")

</div>

Sean S. wrote:

> No route matches “/user/register” with {:method=\>:get}

You gotta show your routes.rb. Is it the default?

Can you write a simple UserController#index and call that?

def index  
render :text =\> ‘I b here’  
end

–  
Phlip

---

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [May 4, 2008, 9:36pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625/5 "2008-05-04T21:36:42Z")

</div>

Here is the routes.rb file

ActionController::Routing::Routes.draw do |map|

# The priority is based upon order of creation: first created -\>

highest priority.

# Sample of regular route:

# map.connect ‘products/:id’, :controller =\> ‘catalog’, :action =\>

‘view’

# Keep in mind you can assign values other than :controller and

:action

# Sample of named route:

# map.purchase ‘products/:id/purchase’, :controller =\> ‘catalog’,

:action =\> ‘purchase’

# This route can be invoked with purchase\_url(:id =\> product.id)

# Sample resource route (maps HTTP verbs to controller actions

automatically):

# map.resources :products

# Sample resource route with options:

# map.resources :products, :member =\> { :short =\> :get, :toggle =\>

:post }, :collection =\> { :sold =\> :get }

# Sample resource route with sub-resources:

# map.resources :products, :has\_many =\> [:comments, :sales],

:has\_one =\> :seller

# Sample resource route within a namespace:

# map.namespace :admin do |admin|

# # Directs /admin/products/\* to Admin::ProductsController

(app/controllers/admin/products\_controller.rb)

# admin.resources :products

# end

# You can have the root of your site routed with map.root – just

remember to delete public/index.html.  
map.root :controller =\> “site”

# See how all your routes lay out with “rake routes”

# Install the default routes as the lowest priority.

map.connect ‘:controller/:action/:id’  
map.connect ‘:controller/:action/:id.:format’  
end

---

<div class="post-metadata">

**Author:** ![df-sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@df-sean](https://www.ruby-forum.com/u/df-sean)\
**Post date:** [June 8, 2008, 12:36pm UTC](https://www.ruby-forum.com/t/simple-routing-error/136625/6 "2008-06-08T12:36:11Z")

</div>

## Sean, Don’t know if you have received an answer on this yet… You have to add the following to the routes.rb file:

## map.root :controller =\> “user”

Should work.  
Andrew
