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