views:

74

answers:

2

How can I make Twitter-style routes with Rails3?

I've tried the following:

match ':username', :controller => "users", :action => "show"
match ':username/:controller(/:action(/:id))', :path_prefix => '/:username'

EDIT

After some more digging through the docs, I did this and it seems to work:

scope '/:username' do
  resources :clubs
end

What is the "scope" method exactly and is there an automatic way of generating link_to URLs in my views?

A: 

The following matcher will match /dhh/update/1

match ':username/update/:id' => 'updates#show'

'update#show' is new in Rails 3 and is the short version of :controller => 'updates', :action => 'show'

jigfox
That looks fine, but what about having multiple controllers and actions? Like /username/controller1 or /username/controller2/action3 ?
IvanBernat
A: 

Try clubs_path(:username => 'bob').

Semyon Perepelitsa