Duda: relacionar dos modelos

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%>


<%= link_to
dest.titulo,:action=>‘ver’,:id=>dest%>


<%=
dest.obra.titulo%>



<% 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

Miguel Angel Calleja Lázaro
escribió:

   end

<% end %>


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

En una fila no tenía valor obra_id, por éso daba error, solucionado