Forum: Ruby on Rails Routing problem

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Makara K. (Guest)
on 2009-03-10 11:05
(Received via mailing list)
Hi all,

I want the url something like this:

http://localhost:3000/profile/anyusername

This will access the controller: profile and the action: view and the
value "anyusername" is the :username parameter.
So I wrote in my route file something like this

map.connect 'profile/:username', :controller =>
'profile', :action=>'view'

But what I want more is that except for the value "index","edit", and
"update". When the user type the url:

http://localhost:3000/profile/index, it will access controller:
profile and action: index. For "edit" and "update" are in the same
process.

So my finally route is:

map.connect 'profile/index', :controller =>
'profile', :action=>'index'
map.connect 'profile/edit', :controller => 'profile', :action=>'edit'
map.connect 'profile/update', :controller =>
'profile', :action=>'update'
map.connect 'profile/:username', :controller =>
'profile', :action=>'view'

And they are working fine. But I think it's too long.
Are there any ways that is shorter than the above.

Thanks in advance,

Mako
Andrew T. (Guest)
on 2009-03-11 13:52
(Received via mailing list)
On Tue, Mar 10, 2009 at 9:47 AM, Mako <removed_email_address@domain.invalid> 
wrote:
>
> So my finally route is:
> Are there any ways that is shorter than the above.
>
> Thanks in advance,
>
> Mako
>
> >
>

What about:
map.connect 'profile/:username', :controller => 'profile', :action =>
'view'
map.connect 'profile/:action', :controller => 'profile'

Andrew T.
http://ramblingsonrails.com
http://www.linkedin.com/in/andrewtimberlake

"I have never let my schooling interfere with my education" - Mark Twain
Tom Z Meinlschmidt (Guest)
on 2009-03-11 14:22
(Received via mailing list)
Andrew T. wrote:
>>
>> So my finally route is:
>> Are there any ways that is shorter than the above.
> Andrew T.
> http://ramblingsonrails.com
> http://www.linkedin.com/in/andrewtimberlake
>
> "I have never let my schooling interfere with my education" - Mark Twain

map.connect '/profile/:action', :controller => 'profile', :requirements
=> {:action => /(edit|update|new|index)/ }
map.connect '/profile/:username', :controller => 'profile', :action =>
'view'

tom
--
===============================================================================
Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache

www.meinlschmidt.com  www.maxwellrender.cz  www.lightgems.cz
===============================================================================
This topic is locked and can not be replied to.