Routing error

Am working my way thru Ruby on Rails Tutorial: Learn Rails by Example and am on this page:

http://railstutorial.org/chapters/static-pages#top

Am getting problems when I create an HTML page in the public directory which is called public/hello.html and should appear as in Figure 3.3.

My problem is that when I try to create the page and make it appear at http://localhost:3000/hello.html I don't see the rendered page. Instead, I get an error which says "Routing error No route matches "/ hello.html"

I have not made any changes to the routing; I thought that Rails was supposed to be smart enough to find "hello.html" because it's in the same directory as the "public/index.html" page and the name of the page is "hello.html"?

Can you please explain?

Paul Denlinger

Could you just triple check the file name in public and in the url you are typing. I believe the webserver looks in public first and only goes on to look at routing if it cannot find it there. Does it work if you ask for index.html? Is so I suspect a simple error somewhere. Perhaps you have a space on the end of the filename for example. You could try renaming the file to what you think it already is.

Colin

if the page is static is has to be in the public folder and rails does not interacts with it , its served by the webserver (webrick ) if its a static page but you are testing how tails work or is dinamic and you put it in a app/views/ folder you could have a controller for it, then rails works like this in your config directory there is a file called routes.rb , in it are the definidtions of how rails reads the url string, there should be two that say

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

this means that rails will interpret the url string in that sequence, it will look for a controller after the http:localhost:3000/ with a matching name to the one in that position in the url string then it will look for a template with the name in tha position.

so try commenting those 2 lines in the routes.rb file and see if you get the hello.html file