# Routing error

**URL:** <https://www.ruby-forum.com/t/routing-error/194639>\
**Category:** Rails\
**Created:** [September 8, 2010, 11:03am UTC](https://www.ruby-forum.com/t/routing-error/194639 "2010-09-08T11:03:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dangermoose](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e79b87/32.png) [@dangermoose](https://www.ruby-forum.com/u/dangermoose)\
**Post date:** [September 8, 2010, 11:03am UTC](https://www.ruby-forum.com/t/routing-error/194639/1 "2010-09-08T11:03:38Z")

</div>

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](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](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 D.

---

<div class="post-metadata">

**Author:** ![dangermoose](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e79b87/32.png) [@dangermoose](https://www.ruby-forum.com/u/dangermoose)\
**Post date:** [September 8, 2010, 2:22pm UTC](https://www.ruby-forum.com/t/routing-error/194639/2 "2010-09-08T14:22:06Z")

</div>

On 8 September 2010 10:01, pauld [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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”?

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

---

<div class="post-metadata">

**Author:** ![dangermoose](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e79b87/32.png) [@dangermoose](https://www.ruby-forum.com/u/dangermoose)\
**Post date:** [September 8, 2010, 6:05pm UTC](https://www.ruby-forum.com/t/routing-error/194639/3 "2010-09-08T18:05:14Z")

</div>

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
