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.
14a4ed38e07e13d75194149bf662dbe6?d=identicon&s=25 Makara Kao (makarakao)
on 2009-03-10 10: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
5772c599ccab3081e0fffb1d54f3b6de?d=identicon&s=25 Andrew Timberlake (andrewtimberlake)
on 2009-03-11 12:52
(Received via mailing list)
On Tue, Mar 10, 2009 at 9:47 AM, Mako <makarakao@gmail.com> 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 Timberlake
http://ramblingsonrails.com
http://www.linkedin.com/in/andrewtimberlake

"I have never let my schooling interfere with my education" - Mark Twain
1e7782e67bb34c9c67ed19d5cde5f4eb?d=identicon&s=25 Tom Z Meinlschmidt (Guest)
on 2009-03-11 13:22
(Received via mailing list)
Andrew Timberlake wrote:
>>
>> So my finally route is:
>> Are there any ways that is shorter than the above.
> Andrew Timberlake
> 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.