Handling has_one recurso anidado en Rails 3
Tengo un modelo de usuario y un modelo Acerca de. El modelo about es una página donde los usuarios tienen más información sobre ellos que, debido a su naturaleza, es más apropiado tenerla en un modelo separado en lugar de en el modelo de usuario.
Quiero poder enrutarlo a algo como /: username / about y hacer que todos los verbos funcionen en esa ruta (GET POST, PUT, DELETE).
/:username/about
/:username/about/edit
/:username/about
Esto es lo que ya tengo
# routes.rb
resources :users do
resources :abouts
end
match ':username/about' => 'abouts#show', :as => :user_about
match ':username/about/add' => 'abouts#new', :as => :user_new_about
match ':username/about/edit' => 'abouts#edit', :as => :user_edit_about
Y en los modelos que tengo
# about.rb
belongs_to :user
# user.rb
has_one :about
Cuando estoy haciendo una publicación o puesto / roses / about Está interpretándolo como un show
Started POST "/roses/about" for 127.0.0.1 at Sun Feb 27 16:24:18 -0200 2011
Processing by AboutsController#show as HTML
Probablemente me estoy perdiendo la declaración en las rutas, pero ¿no es complicado declarar cada verbo para un recurso cuando es diferente del predeterminado?
¿Cuál es la forma más simple y limpia de archivar esto?