[Ror-es] Un campo de un modelo debe tener el valor del campo de otro modelo
Iñaki
ibc2 at euskalnet.net
Wed Sep 13 18:58:52 GMT 2006
El Miércoles, 13 de Septiembre de 2006 02:52, Pedro Visintin escribió:
> Hola Iñaki:
>
> Tu modelo deberia ser algo asi:
>
> Class Cancion < ActiveRecord::Base
> belongs_to :artista, :foreign_key=>"artista"
> belongs_to :album, :foreign_key=>"album"
> end
>
> Class Artista < ActiveRecord::Base
> has_many :canciones, :foreign_key=>"artista"
> has_many :albums, :foreign_key=>"album"
> end
>
> Class Album < ActiveRecord::Base
> end
>
> corrijan si me olvide de algo
>
> Saludos
Hola. Gracias, pero le he probado y no hace nada. Es decir, entiendo que lo
que propones es correcto, pero no estoy seguro de que debiera hacer lo que yo
quiero:
Yo quiero que cuando la aplicación muestra una lista de canciones en los
campos "artista" y "album" muestre el campo "name" de las tablas "artista"
y "album" con el "id" correspondiente.
¿No habría que especificar eso en alguna parte?
Saludos.
> P
>
> On 9/12/06, Iñaki <ibc2 at euskalnet.net> wrote:
> > Hola, ante todo perdón por el asunto, no se me ocurre nada más
> > descriptivo.
> >
> > Resulta que tengo un modelo "Cancion" asociado a la tabla "canciones" con
> > los
> > siguientes campos (y pongo un ejemplo de entrada):
> >
> > tabla "canciones"
> >
> >
> > -------------------------------------------------------------------------
> >--------------- id name artista album
> > 82 Mi carro 5 8
> >
> >
> > -------------------------------------------------------------------------
> >---------------
> >
> > Y otros dos modelos "Artista" y "Album" asociados a las tablas "artistas"
> > y "albums":
> >
> > tabla "artistas"
> >
> >
> > -------------------------------------------------------------------------
> >--------------- id name
> > 5 El Fary
> >
> >
> > -------------------------------------------------------------------------
> >---------------
> >
> > tabla "albums"
> >
> >
> > -------------------------------------------------------------------------
> >--------------- id name
> > 8 Grandes Exitos
> >
> >
> > -------------------------------------------------------------------------
> >---------------
> >
> >
> > Pues bien, yo quiero que al hacer un "list" de las canciones el valor
> > del "artista" y "album" sea sustituido por los "name" de sus tablas
> > correspondientes. Es decir, aplicar algo así:
> >
> > artist = Artista.find(cancion.artista).name
> >
> > El caso es que no tengo ni idea de dónde poner eso. Algo me dice que esto
> > debe
> > ir dentro del modelo, y no dentro del controlador, pero ni lo tengo muy
> > claro
> > ni mucho menos sé cómo ponerlo dentro del modelo.
> >
> > En principio, el listado esta hecho con un scaffold, así que la función
> > en el
> > controlador para la acción "list" sería la típica:
> >
> > @cancion_pages, @cancion = paginate :cancion, :per_page => 10
> >
> >
> > ¿Alguien me puede orientar cómo debo añadir lo que me interesa?
> > Por si fuera necesario, aviso que sólo debe ser para lectura y no para
> > escritura. La aplicación web se limitará a listar los datos de una base
> > de datos sin modificarlos en absoluto.
> >
> >
> > Gracias y un saludo.
> >
> >
> >
> > --
> > Iñaki
> > _______________________________________________
> > Ror-es mailing list
> > Ror-es at lists.simplelogica.net
> > http://lists.simplelogica.net/mailman/listinfo/ror-es
--
Iñaki
More information about the Ror-es
mailing list