Bug bizarre

Salut,

J’ai un problème avec une requête que je n’arrive pas à résoudre…
Je fais un simple
def destroy
@url_file_to_remove = Media.get_url(params[:id])
logger.info("*** @url_file_to_remove = #{@url_file_to_remove} ***")

dans mon contrôleur avec une requête basique dans le modèle
find(:first,
:select => ‘medias.url’,
:conditions => [“medias.id = ?”, id])

et au lieu d’obtenir l’url de l’image, j’obtiens #Media:0x37a2440
je n’ai aucun indice dans le log, la requête sql fonctionne lorsque
j’effectue le select directement avec la console mysql
J’ai testé avec un autre champ de la table, une autre table, bref je
sèche là !
Si quelqu’un a une piste… c’est probablement un truc tout simple qui
m’échappe

salut,

find(:first) te renvoie une instance de ton modèle, ici une instance de
Media et non pas directement une String correspondant à ta clause Select.

Pour avoir ton url il faut juste que tu fasses

media_cherche = Media.get_url(params[:id])
@url_file_to_remove = media_cherche.url

Stéphane.

find(:first) te renvoie une instance de ton modèle, ici une instance de
Media et non pas directement une String correspondant à ta clause Select.

Pour avoir ton url il faut juste que tu fasses

media_cherche = Media.get_url(params[:id])
@url_file_to_remove = media_cherche.url

Stéphane.

Merci, c’était effectivement évident ! :honte: