[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 19:01:01 GMT 2006
El Miércoles, 13 de Septiembre de 2006 12:54, Esteban Manchado Velázquez
escribió:
> On Tue, Sep 12, 2006 at 09:52:26PM -0300, Pedro Visintin wrote:
> > 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
>
> Bufff.... nunca creen relaciones que se apoyan en campos del mismo
> nombre. Si siguen la convención de añadir «_id» al final de los campos que
> son referencias, nunca tendrán este problema.
El problema es que no puedo modificar las tablas.
> > Class Artista < ActiveRecord::Base
> > has_many :canciones, :foreign_key=>"artista"
> > has_many :albums, :foreign_key=>"album"
> > end
>
> Respondiendo a Iñaki, yo lo que haría sería hacer la consulta normal, y
> a la hora de mostrar los datos, en la vista, simplemente hacer:
>
> <%= cancion.artista.nombre %>
Vale, pero ¿dónde harías eso? ¿en el modelo "canción"?
Sólo se me ocurre hacerlo en la vista, dentro del bucle que muestra la lista y
para cada entrada crea un objeto "Cancion", pero eso me parecería un poco
aberración contra la filosofía MVC, ¿no?
Saludos.
--
Iñaki
More information about the Ror-es
mailing list