Duda con multiple nested resources

haber, estoy siguiendo el libro de rails way, y al intentar hacer el
ejemplo de multiple nested resources, con los controladores:
perfils_controller y clientes_controller y empleados controller que
heredan de el primero, con las siguientes rutas definidas:
map.resources :perfils

map.resources :empleados do
|empleado|
empleado.resources :perfils, :path_name=>"_empleado",
:controller=>:empleado_perfils
end

map.resources :clientes do |cliente|
cliente.resources :perfils, :path_name=>"_cliente",
:controller=>:cliente_perfils
end

me tira de los controladores correctamente, pero según entiendo por el
libro , las vistas a las que deberia acceder sería las definidas en la
carpeta perfil(para las vistas comunes a ambos), no a las definidas
dentro de las carpetas clientes_perfil y empleados_perfil
respectivamente,que es lo que a mi me pasa.
La llamada que realizo en las vistas es la siguiente:
new_cliente_perfil_path(cliente)
y new_empleado_perfil_path(empleado)

así que el tema es:por que no me accede a la carpeta perfil en busca de
las vistas(como he comprobado en otros ejemplos del estilo que si hace).

ah, los controladores están definidos de la siguiente manera.
class ClientePerfilsController < PerfilsController
protected
def load_parent
@[email protected]=Cliente.find(params[:cliente_id])
end
end

class EmpleadoPerfilsController < PerfilsController

protected
def load_parent
@[email protected]=Empleado.find(params[:empleado_id])
end
end

y el de perfils(que aqui mando recortado por no poner metodos
innecesarios):

class PerfilsController < ApplicationController

before_filter :load_parent
before_filter :load_perfil

GET /perfils/new

GET /perfils/new.xml

def new
@perfil=Perfil.new
respond_to do |format|
format.html
format.xml { render :xml => @perfil }
end
end

POST /perfils

POST /perfils.xml

def create
@perfil = Perfil.new(params[:perfil])
respond_to do |format|
if @perfil.save
flash[:notice] = ‘perfil was successfully created.’
format.html { redirect_to(@perfil) }
format.xml { render :xml => @perfil, :status
=> :created, :location => @perfil }
else
format.html { render :action => “new” }
format.xml { render :xml => @perfil.errors, :status
=> :unprocessable_entity }
end
end
end

protected

def load_parent

end

def load_perfil

@[email protected] if @parent!=nil

end
end

Gracias por la ayuda, y espero haberme hecho entnder, porque hasta a mi
me ha costado explicarlo.

duda solucionada
es necesario realizar un redirect_to en el responds_to html dentro de
los metodos que quieres que tiren de la vista perfils(por si a alguien
le interesaba)
El lun, 17-03-2008 a las 13:16 +0100, Fernando Martinez G. escribió:

graciasm por autoresponderte en público

Un saludo

El día 17/03/08, Fernando Martinez G.
[email protected]
escribió:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs