Simple Routing Error

Routing Error

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

The URL is 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

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:

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

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

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

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