14/03/2009, 11:40
|
| | Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años, 8 meses Puntos: 0 | |
Respuesta: Problema con map.resources y sigular de controlador Hola, el problema esta en que estas usando :collection cuando deberias usar :member, :collection se usa cuando quieres trabajar con un grupo de recursos y :member cuando quieres trabajar con uno solo, en este caso tu quieres crear y editar un recurso, por lo tanto deberias usar :member.
Como estas tratando de modificar las acciones 'new' y 'edit' que son las que te genera Rails por defecto al declarar un nuevo recurso entonces no necesitas usar :member sino pasar el parametro :path_names en la declaracion del recurso:
ActionController::Routing::Routes.draw do |map|
map.resources :permisos, :path_names => { :new => 'nuevo', :edit => 'editar' }
map.resources :roles
map.resources :niveles
end
Y si necesitas hacer ese cambio para todos tus recursos, sera mejor que los especifiques en el archivo config/environment.rb:
config.action_controller.resources_path_names = { :new => 'nuevo', :edit => 'editar' }
Para una mejor comprensión del sistema de rutas, te recomiendo leer esto:
guides.rails.info/routing.html
Espero haberte ayudado.
Saludos. |