relación circular de una entidad

Tengo la necesidad siguiente

tabla: Personas
id
nombres
ap_paterno
ap_materno
persona_id

que se realaciona a si misma, como manejo eso en la vista list.rhtml

en el caso de empresa
razon_social
persona_id

en list.rhtml decia:

empresa.persona.nombres + " " + empresa.persona.ap_paterno + " " +
empresa.persona.ap_materno

pero al tratar de hacer lo mismo en list.rthm de persona, no funciona :

persona.persona.Nombres + " " + persona.persona.ap_paterno + " " +
persona.persona.ap_materno

Alguna idea?

Gracias

persona.persona.Nombres : ¿Por qué N mayúscula?

Otra sugerencia, es que mejor te creas un método en el modelo Persona
que retorne el nombre completo; o hasta el nombre completo del registro
registro padre.

Por ahora lo estoy resolviendo de esta manera:

<% for persona1 in @personas %>

<%=h persona1.Nombres %> <%=h persona1.ap_paterno %> <%=h persona1.ap_materno %> <%=h persona1.RUT %> - <%=h persona1.Dig_verificador %> <% if persona1.persona_id.to_s.length == 0 %> <%= "el mismo" %> <% else %> <%=h Persona.find(persona1.persona_id).nombrecompleto %> <% end %> <%= link_to 'Editar', :action => 'edit', :id => persona1 %> <%= link_to 'Eliminar', { :action => 'destroy', :id => persona1 }, :confirm => 'Are you sure?', :post => true %> <% end %>

nombre completo esta definido en mi modelo como sigue

class Persona < ActiveRecord::Base
has_many :empresas
belongs_to :persona
has_many :personas

def nombrecompleto()
    Nombres() + " " + ap_paterno() + " " + ap_materno()
end

end

El día 2/03/07, Angel Mauricio Pino Gonzalez <
[email protected]> escribió:

Hola
por el código que tienes en la vista me parece que la relación debería
ser
has_one, no has_many
te recomiendo escribirlo de esta manera para que sea mas fácil leerlo

class Persona < ActiveRecord::Base
has_one :amigo, :class_name => “Persona”
belongs_to :amigo, :class_name => “Persona”

def nombre_completo

end
end

saludos
Hernán Fernandez
netflux.com.ar