I followed a tutorial to learn ruby on rails at
http://guides.rubyonrails.org/v2.3.8/getting_started.html
After creating a view and controller as "script/generate controller
home index" and then i changed the contents of app/view/home/
index.html.erb file according to tutorial into one line as
<h1>Hello, Rails!</h1>
Now i started the server as script/
server(successfully started) and when i navigate to localhost:3000/
home/index, i got a error message which says
ROUTING ERROR
No route matches "/home/index" with {:method=>:get}
After creating a view and controller as "script/generate controller
home index" and then i changed the contents of app/view/home/
index.html.erb file according to tutorial into one line as
<h1>Hello, Rails!</h1>
Now i started the server as script/
server(successfully started) and when i navigate to localhost:3000/
home/index, i got a error message which says
ROUTING ERROR
No route matches “/home/index” with {:method=>:get}
Remove the /public/index.html file in your app directory.
Check to see if you have a route for root in your routes.rb file.
If not, make it
map.root :controller => "home"
If you still have problems, post the contents of your routes file.
Also verify that you are actually using Rails 2.3.8. Very basic check, I know, but routing syntax is different in Rails 3, and I don’t believe older syntax is supported.
After creating a view and controller as "script/generate controller
home index" and then i changed the contents of app/view/home/
index.html.erb file according to tutorial into one line as
<h1>Hello, Rails!</h1>
Now i started the server as script/
server(successfully started) and when i navigate to localhost:3000/
home/index, i got a error message which says
ROUTING ERROR
No route matches “/home/index” with {:method=>:get}
Remove the /public/index.html file in your app directory.
Check to see if you have a route for root in your routes.rb file.
If not, make it
map.root :controller => “home”
If you still have problems, post the contents of your routes file.
I added the map.root :controller => “home” at the bottom of
router.rb file and it worked.so i could accessed now "localhost:3000/
home/index
Please explain how it (*map.root :controller => "home"*) is
working (means which part calls to which).
Go through the rails getting started guides if you run into issues like these again. Google it. The first link will get you there.
As far as the above is concerned, map.root tells the route for the root i.e. localhost:3000 in development or www.domain.com in production.