Forum: Ruby on Rails Routing every request to same action

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Umair E. (Guest)
on 2009-03-30 18:18

I have some problem, I want to route every request from URL to an action
in my one controller.
   Like if I enter localhost:3000/rac .Here it will take the 'rac' as a
controller name and then route it to the 'index' action of the 'rac'
controller. But what I want is that it should redirect towards
:controller=>'companies' :action=>'index' , doesnt matter that 'rac'
controller exisits or not, It should just redirect to my desired
 I tried this in my routes.rb
  map.connect 'parts/:number',:controller=>'companies' ,
 But its not working.
Please help me to overcome this problem,
Thanks in advance,
Umair E. (Guest)
on 2009-03-31 01:08
Please let me know if any one know how to do this
bill walton (Guest)
on 2009-03-31 01:27
(Received via mailing list)
On Mon, 2009-03-30 at 23:08 +0200, Umair Ejaz wrote:
> Please let me know if any one know how to do this

I'm not sure I understand exactly what you want to do but if you really
want _every_ request to get routed to the same action, you can use a

In application.rb:

def route_all_to_somewhere
  redirect_to :controller => 'desired_controller', :action =>

and either at the beginning of application.rb or in each of your
controller files:

before_filter :route_all_to_somewhere

Umair E. (Guest)
on 2009-03-31 10:19
Thanks dear this will work fine if I write before_filter
in start of my all controllers but if the controller doesnt exist, means
he write locahost:3000/rac and there is not 'rac' controller then how
can I redirect this request towards my desired action...It willl simply
give the routing error that "No route matches "/rac" with". What I want
is that it should nt gimme this error even if i  write the name of the
controller in URL which doesnt exists, It should always redirect to my
desiredt action
Madhusudhan H. (Guest)
on 2009-03-31 16:02
If the requirement is to direct every incoming request for a particular
action in a controller then can just have

map.connect '*path', :controller=>"your_controller",

in the routes.rb file. This will redirect every request to 'your_action'
in 'your_controller'.

Umair E. (Guest)
on 2009-03-31 22:19
Thank you soooo mcuh!!!thats what i was looking for!
thanks again
This topic is locked and can not be replied to.