Single URL/route --> Different controller/action routing. Is this possible?


#1

I am on Rails 2.0.2

I’ve set up routes.rb so that the URL http://mysite.com/username
routes the user to :controller => ‘foo’, :action => ‘bar’

However, I am rev-ing my app and based on a flag in the Users table, I
want some users to go to :controller => ‘foo2’, :action => ‘bar2’
while others should continue to get routed via :controller =>
‘foo’, :action => ‘bar’

Is there any way at all to do this via routes.rb? Or some other hack?
I still want the URL to be http://mysite.com/username

Thanks


#2

raghus wrote:

I am on Rails 2.0.2

I’ve set up routes.rb so that the URL http://mysite.com/username
routes the user to :controller => ‘foo’, :action => ‘bar’

However, I am rev-ing my app and based on a flag in the Users table, I
want some users to go to :controller => ‘foo2’, :action => ‘bar2’
while others should continue to get routed via :controller =>
‘foo’, :action => ‘bar’

Is there any way at all to do this via routes.rb? Or some other hack?
I still want the URL to be http://mysite.com/username

Thanks

You can call any method from that action, including the code for another
action, and then explicitly render whatever template you want.


#3

Yes, I can call action2 in action1 in foo controller. But how about
when I need to call action2 which is in foo2 controller? How do I get
around that?

On Dec 2, 6:50 pm, Jeremy Weiskotten <rails-mailing-l…@andreas-


#4

Sounds like you want to look into using a before_filter. The job of
the filter would be to redirect the action2 users to action2 and allow
the rest to default to action1.


#5

AndyV - I could, but then some users would be redirected and see a
different URL. I’d like everyone to see the same uniform URL :
http://mysite.com/myusername