Routing CRUD


I'm trying to setup a route next to my resources :users

So this gives me the basic routes (incl. users/:id) But now I'd like to show users through their username (like this: users/:username)

How should I do that?

I've got my routes setup like this at the moment: (the users/:username) does work now, but all the rest doesn't work (for the users controller)

resource :account, :controller => "users"

match '/users/:username' => 'users#show'

resources :users, :user_sessions, :homes, :shouts, :activations

match '/register/:activation_code' => 'activations#new', :as => :register match '/activate/:id' => 'activations#create', :as => :activate

root :to => "homes#index"

Thx :wink:

I am not really an expert with routes, but if I am not mistaken, this has to do with rules precedece. That is, your match '/users/:username'... will have precedence over resources :users.... You should place resources before any match.

Perhaps others with more experience will be able to help further.



Thank you for the reply. But if i put the resources first, then my match users/:username doesnt work. So it's true what you say, first route will be used.