Forum: Rails-ES problema mostrar datos en pantalla con tablas relacionadas

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
carlos (Guest)
on 2007-06-14 14:30
Hola a todos

Mi problema me da un problema a la hora de mostrar datos de una tabla
recetas relacionada con una tabla categorias os pongo el codigo

receta.rb

class Receta < ActiveRecord::Base
  belongs_to:categorias
end


categorias.rb

class Categorias < ActiveRecord::Base
  has_many:receta
end


receta_controller.rb

class RecetaController < ApplicationController
  scaffold :receta

  def list
    @recetas = Receta.find_all
  end

  def edit
    @receta = Receta.find(@params["id"])
    @categorias = Categorias.find_all
  end
end


list.rhtml

<html>
<head>
<title>Todas las Recetas</title>
</head>
<body>

<h1>Libro de Recetas Online - Todas las Recetas</h1>
<table border="1">
 <tr>
  <td width="40%"><p align="center"><i><b>Receta</b></i></td>
  <td width="20%"><p align="center"><i><b>Categoria</b></i></td>
  <td width="20%"><p align="center"><i><b>Fecha</b></i></td>
 </tr>

 <% @recetas.each do |receta| %>
  <tr>
   <td><%= link_to receta.titulo, :action => "show", :id => receta.id
%></td>
 <td><%= receta.categoria.nombre%></td>
   <td><%= receta.fecha %></td>
  </tr>
 <% end %>
</table>
<p><%= link_to "Crear nueva receta", :action => "new" %></p>

</body>
</html>

me da en la siguiente linea:
<td><%= receta.categoria.nombre%></td>

he probado cambiando categoria por categorias y sigue sin funcionar

alguna idea...

gracias por adelantado
Miguel Angel Calleja Lázaro (Guest)
on 2007-06-14 14:59
(Received via mailing list)
carlos
escribió:
>
>class RecetaController < ApplicationController
>end
><h1>Libro de Recetas Online - Todas las Recetas</h1>
>%></td>
>me da en la siguiente linea:
><td><%= receta.categoria.nombre%></td>
>
>he probado cambiando categoria por categorias y sigue sin funcionar
>
>alguna idea...
>
>gracias por adelantado
>
>
>
Rails tiene reglas de pluralización para relacionar modelo-tabla,
imagino que puede ser que no encuentra la pluralización de tu modelo
"Categorias"  en la base de datos , sería como pluralizar un plural.
Prueba a llamar categoria a tu modelo, internamente estará buscando la
tabla categorias en tu base de datos, creo que puede ser éso.

Un saludo
Damian J. (Guest)
on 2007-06-14 16:27
(Received via mailing list)
On 6/14/07, carlos <removed_email_address@domain.invalid> wrote:
> receta.rb
>
> class Receta < ActiveRecord::Base
>   belongs_to:categorias
> end

belongs_to
:categoría
(Una receta pertenece a *una categoría*)


> categorias.rb
>
> class Categorias < ActiveRecord::Base
>   has_many:receta
> end

has_many :recetas

(Una categoría posee muchas recetas)
This topic is locked and can not be replied to.