Forum: Ruby on Rails Custom URL routing based on usernames.

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.
05bf52a3e873f6847b05536a99bec4ad?d=identicon&s=25 Diego (Guest)
on 2007-02-21 05:51
(Received via mailing list)
Hi all,

I have an application which has a number of users, each with their own
usernames. I am able to setup URLrouting where I can do something like

http://myapp.com/charlie63

and that to call a chosen controller, action and passing charlie63 as
the id. So that's fine.

This is probably a stupid question, but to prevent problems, do I
simply have to have a list of unavailable usernames and not allow
people to create accounts with those as usernames? In other words, if
I have a controller named, checkout, I need to not allow anyone to
create a user name checkout, because when she tried to access her
account through her URL http://myapp.com/checkout it will actually go
to controller: checkout and action: index?

If this is so, do I just need to manually maintain a list of invalid
user names and check against those? Or can I call something in Rails
to help me to look for existing controllers? Although, I guess I have
to be careful because someone may create an account, use that for a
while, and later on I may come along and create a controller with the
same username.

Any help in getting something like this going, pointers, would be
greatly appreciated.

Cheers,
Diego
05bf52a3e873f6847b05536a99bec4ad?d=identicon&s=25 Diego (Guest)
on 2007-02-21 06:48
(Received via mailing list)
OK, think I've got it. I just need to place the routing rules for the
username before the standard controller/action/id one which is there
by default with a Rails app. So, even if I have a username with the
same name as a controller, it will be found if it exists. Otherwise
the controller's routing rule will be evaluated.
A82ba1167f4d4a8d1de63820e576a87f?d=identicon&s=25 Robby Russell (Guest)
on 2007-02-21 07:29
(Received via mailing list)
Diego wrote:
> OK, think I've got it. I just need to place the routing rules for the
> username before the standard controller/action/id one which is there
> by default with a Rails app. So, even if I have a username with the
> same name as a controller, it will be found if it exists. Otherwise
> the controller's routing rule will be evaluated.
>

You can take it a step further and use our resource hacks plugin for
Rails. :-)

One of our developers recently blogged about it.

* http://blog.imperialdune.com/2007/2/13/pretty-urls...

Cheers,

-Robby

--
Robby Russell
http://www.planetargon.com/
http://www.robbyonrails.com/
05bf52a3e873f6847b05536a99bec4ad?d=identicon&s=25 Diego (Guest)
on 2007-02-21 07:38
(Received via mailing list)
Thanks Robby, I'll check it out.
This topic is locked and can not be replied to.