# Understanding routes.rb

**URL:** <https://www.ruby-forum.com/t/understanding-routes-rb/91063>\
**Category:** Rails\
**Created:** [April 4, 2007, 8:07am UTC](https://www.ruby-forum.com/t/understanding-routes-rb/91063 "2007-04-04T08:07:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [April 4, 2007, 8:07am UTC](https://www.ruby-forum.com/t/understanding-routes-rb/91063/1 "2007-04-04T08:07:46Z")

</div>

Hi,

I am very new to ruby and rails…but I am trying to get the  
LoginGenerator up and running as quick test, but I have run into the  
following problem:

Routing Error

no route found to match “/p/arash2/myapp/” with {:method=\>:get}

so i figured that i need to change the routes.rb file, and I changed  
it to this:

map.connect ‘p/myapp/users’, :controller =\> ‘users’,

and I end up with this error

Unknown action

No action responded to index

I am pretty sure I am missing something big here, and it would be  
obvious if I knew rails a bit more, but I am trying to run a  
feasibility test, so im more concerned with getting things working  
first, and understanding them second.

thanks

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [April 4, 2007, 4:01pm UTC](https://www.ruby-forum.com/t/understanding-routes-rb/91063/2 "2007-04-04T16:01:12Z")

</div>

I’m not sure I understand why your routes look the way they do. Are you  
running Rails from some kind of subdirectory setup? There’s some added  
difficulties with doing that. If it’s at all possible, you should run  
your  
Rails app from the root level of a domain. It can be in any physical  
directory on the server but it really [AFAIK] helps to be in the root of  
the  
domain.

Also, if you could paste more [or all!] of your routes.rb in your next  
reply  
it would help more as well. 🙂

RSL

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [April 4, 2007, 6:34pm UTC](https://www.ruby-forum.com/t/understanding-routes-rb/91063/3 "2007-04-04T18:34:35Z")

</div>

Hi Russell,

thanks for your reply. The reason I am not running from the root of my  
domain is because there is already a cgi application (running through  
Apache). I really don’t want to screw things up there, so I figured I  
would just create my application from a sub directory, and run it from  
there. Also, I couldn’t get Apache to work with rails (albeit I didn’t  
try very hard, so I just run WEBrick, using port 3000, which is fine  
for my feasibility tests).

So anyways, I start WEBrick, and in my browser, I go to:  
[http://my.domain.com:3000/p/myapp/users](http://my.domain.com:3000/p/myapp/users) (as the LoginGenerator example  
directed), but I was getting the following Routing Error:

Routing Error

no route found to match “/p/myapp/” with {:method=\>:get}

So I figured the problem was with my routes.rb, but I really don’t  
understand whats goin on in this file. Also, as you requested, here is  
my entire routes.rb (I only added one line, and I have pointed it out)

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)

# You can have the root of your site routed by hooking up ‘’

# – just remember to delete public/index.html.

map.connect ‘p/myapp/users’, :controller =\> ‘users’, :action =\>  
‘start’ \<-----I added this line

# Allow downloading Web Service WSDL as a file with an extension

# instead of a file named ‘wsdl’

#map.connect ‘:controller/service.wsdl’, :action =\>  
‘wsdl’ \<------I commented this line out (was originally  
uncommented)

# Install the default route as the lowest priority.

#map.connect  
‘:controller/:action/:id.:format’ \<------  
I commented this line out (was originally uncommented)  
#map.connect  
‘:controller/:action/:id’  
\<------I commented this line out (was originally uncommented)  
end

Thanks again for your help!
