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