¿Cómo eliminar los nombres de los controladores de las rutas de los rieles?

Me gustaría recortar por las rutas de mi aplicación para que:

http://myapplication.com/users/peter/questions/how-do-i-create-urls

se convierta en ...

http: // myapplication .com / peter / how-do-i-create-urls

Tengo un controlador de usuarios y me gustaría que tuviera recursos. Los usuarios también tienen un recurso anidado llamado preguntas.

Archivo de rutas básicas

Sin ningún recorte de URL, el archivo de rutas se ve así:

...
resources :users do
  resources :questions
end

Sin embargo, las URL de esto toman la forma de

http: // myapplication .com / users / peter / questions / how-do-i-create-urls

en lugar de

http://myapplication.com/peter/how-do-i-create-urls

Éxito parcial He intentado hacer lo siguiente:

...
resources :users, :path => '' do
  resources :questions
end

Esto funciona y produce:

http://myapplication.com/peter/questions/how-do-i-create-urls

Sin embargo, si lo intento:

...
resources :users, :path => '' do
  resources :questions, :path => ''
end

Entonces las cosas empiezan a ir mal.

¿Es este el enfoque correcto y, de ser así, se puede hacer que funcione también con recursos anidados?

34
задан Peter Nixey 16 June 2011 в 10:08
поделиться