[Ror-es] duda: relacionar dos modelos

Miguel Angel Calleja Lázaro mangelcl at yahoo.es
Tue Apr 3 08:24:45 GMT 2007


Miguel Angel Calleja Lázaro escribió:

>Estaba probando un ejemplo de relacionar dos modelos, destacado y obra, 
>la relación es 1:1
>
>destacado: id, titulo, texto,..., obra_id
>obra: id, titulo, texto, ...
>
>Modelo destacado:
>class Destacado < ActiveRecord::Base
>belongs_to :obra     
>end
>
>Modelo obra:
>class Obra < ActiveRecord::Base     
>        has_one :destacado
>end
>
>Mi controlador:
>class Es::InicioController < ApplicationController
>        def index  
>            @destacados=Destacado.find(:all,:conditions=>["hidden=0 and 
>pagina_id=1"])
>        end
>end
>
>Y en mi vista:
> <%for dest in @destacados%>
>                        <div>                     
>                                <h2><%= link_to 
>dest.titulo,:action=>'ver',:id=>dest%></h2>
>                               <p> <%= 
>dest.obra.titulo%></p>                             
>                        </div>
> <% end %>
>
>Si destacado y obra están relacionadas, no puedo hacer dest.obra.titulo? 
>Para sacar el título de la obra a la que pertenece el destacado. Me da 
>error:
>
>|You have a nil object when you didn't expect it!
>The error occured while evaluating nil.titulo|
>
>Los datos en la base de datos están guardados correctamente, estaba 
>siguiendo un ejemplo y ésto es lo que hace pero a mi no me sale, por qué 
>puede ser? gracias de antemano
>
>_______________________________________________
>Ror-es mailing list
>Ror-es at lists.simplelogica.net
>http://lists.simplelogica.net/mailman/listinfo/ror-es
>
>  
>
En una fila no tenía valor obra_id, por éso daba error, solucionado


More information about the Ror-es mailing list