[Ror-es] duda: relacionar dos modelos

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


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



More information about the Ror-es mailing list