# Structuring a rails application

**URL:** <https://www.ruby-forum.com/t/structuring-a-rails-application/103008>\
**Category:** Rails\
**Created:** [April 30, 2007, 6:56pm UTC](https://www.ruby-forum.com/t/structuring-a-rails-application/103008 "2007-04-30T18:56:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![r3dcaps](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/3da27b/32.png) [@r3dcaps](https://www.ruby-forum.com/u/r3dcaps)\
**Post date:** [April 30, 2007, 6:56pm UTC](https://www.ruby-forum.com/t/structuring-a-rails-application/103008/1 "2007-04-30T18:56:08Z")

</div>

I try to structure my rails application with modules, but i have  
problems to define the routes. Is’ it possible to use someting like  
this: \<%= link to ‘…’, :module =\> :module\_name, :controller  
=\> :ctrl\_name […] -%\> ?

The controllers i want to access are in app/controllers/module\_name. I  
thougt i could define something like this: map.connect  
‘:module/:controller/:action’, but it doesn’t work.

---

<div class="post-metadata">

**Author:** ![r3dcaps](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/3da27b/32.png) [@r3dcaps](https://www.ruby-forum.com/u/r3dcaps)\
**Post date:** [April 30, 2007, 8:51pm UTC](https://www.ruby-forum.com/t/structuring-a-rails-application/103008/2 "2007-04-30T20:51:23Z")

</div>

You could try to namespace them instead of wrapping multiple  
controllers in a module if that is an option.

script/generate controller admin/messages  
script/generate controller admin/users

Fredrik

---

<div class="post-metadata">

**Author:** ![r3dcaps](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/3da27b/32.png) [@r3dcaps](https://www.ruby-forum.com/u/r3dcaps)\
**Post date:** [May 1, 2007, 12:40pm UTC](https://www.ruby-forum.com/t/structuring-a-rails-application/103008/3 "2007-05-01T12:40:48Z")

</div>

But this has the same effect like “script/generate Admin::Messages”  
the class that will be created is in the module Admin. This is not a  
problem for me, but how do i create links to the modules. Is it  
posible to route requests in a default folder? For example:

controllers/admin  
controllers/customers  
controllers/public

are my differnt interfaces, by default the controllers in public  
should serve the users request, so that the url is somthing like:  
[http://url/controller/action](http://url/controller/action) and not  
[http://url/subfolder/controller/action](http://url/subfolder/controller/action).
