[Ror-es] Un campo de un modelo debe tener el valor del campo de otro modelo

Pedro Visintin pedro.visintin at gmail.com
Wed Sep 13 00:52:26 GMT 2006


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

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
>



-- 
Pedro   Visintin .  I T   S o l u t i o n s   A r c h i t e c t
Ruby On Rails Argentina. http://blogs.onrails.com.ar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.simplelogica.net/pipermail/ror-es/attachments/20060913/d3ed0bbb/attachment.htm 


More information about the Ror-es mailing list