IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Images avec une url differente


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Images avec une url differente
    Bonjour a tous,

    je debute en RoR et j'ai un petit ennui.
    En effet, j'ai fais un petit script d'upload pour pouvoir ajouter des images et generer automatiquement differentes miniatures.
    Ce qui donne des urls du genre : /public/images/uploads/mini_500/image.jpg.

    Bien entendu, Ruby ne comprends pas l'action generee par ces urls, et je n'arrive pas a lui faire comprendre qu'il doit les prendre "comme telles".
    Je suppose que c'est possible mais j'ai du mal a trouver une solution.

    Merci de votre aide !

    PS : Desole pour l'absence d'accent, probleme temporaire de clavier.

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Bonjour,

    Je n'arrive pas à comprendre à quel moment se situes ton soucis...

    Tes miniatures se génèrent-elles bien ?
    Tu as un soucis au moment de l'affichage ?

    Bref, un petit extrais du code qui te pose soucis serai le bienvenu

    PB
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par titoumimi Voir le message
    Bonjour,

    Je n'arrive pas à comprendre à quel moment se situes ton soucis...

    Tes miniatures se génèrent-elles bien ?
    Tu as un soucis au moment de l'affichage ?

    Bref, un petit extrais du code qui te pose soucis serai le bienvenu

    PB
    La partie génante du code est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        <% for photo in @photos %>
            <a href="<%= image_path("uploads/mini_500/"+photo.url) %>">
                <img src="<%=  image_path("uploads/cropped_4864/"+photo.url) %>" />
            </a>
        <% end %>
    Les miniatures se gèrent bien, mais les images ne s'affichent pas, car je pense qu'il faut ajouter une route, expliquant que ceux qui se trouvent dans images/uploads/... ne doit pas être associé a un controller, mais je ne vois pas comment faire.

    Si j'essaye d'accéder à une image située dans uploads/mini_500/, j'ai une erreur "no route matches".

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Le problème ici, c'est que tu essaies d'afficher une image depuis un emplacement non accessible à l'extérieur de l'application Rails. Le plus simple à faire serai de mettre ton répertoire 'upload' dans 'public', sinon, à part de la configuration au niveau du serveur, je ne voit pas trop...

    PS : pourquoi n'utilises-tu pas image_tag ?
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par titoumimi Voir le message
    Le problème ici, c'est que tu essaies d'afficher une image depuis un emplacement non accessible à l'extérieur de l'application Rails. Le plus simple à faire serai de mettre ton répertoire 'upload' dans 'public', sinon, à part de la configuration au niveau du serveur, je ne voit pas trop...

    PS : pourquoi n'utilises-tu pas image_tag ?
    C'est à dire déplacer public/images/uploads/mini_500 (là où il est actuellement) vers public/uploads/mini_500 ?
    Ruby ne risque-t-il pas de penser que je parle du controller upload (car justement j'en ai un) ?

    J'ai essayé une autre solution : j'ai ajouté une route telle que images/uploads/:type/:filename.:extension mène vers la méthode show de mon controller upload.
    C'est relativement laborieux, mais ça fonctionne. Par contre, je n'arrive pas à utiliser la fonction send_file. En effet, il ne trouve pas l'image, alors que j'ai tenté à peu près tous les types de chemins possibles vers mon image (depuis la racine du projet, depuis le répertoire public..).

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      def show
          send_file 'public/images/uploads/'+params['type']+'/'+params['filename']+'.'+params['extension'],
              :type => 'image/jpeg', :disposition => "inline"
      end
    En tout cas merci de ton aide.

    PS : je n'utilise pas image_tag car je n'y ai pas pensé :p Tant d'années de Php ne m'ont pas habitué à la simplicité d'utilisation de Ruby

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/04/2007, 20h40
  2. [debutant] get image avec une variable non static
    Par laguna dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2006, 15h57
  3. [HTTP][Socket] avec une url c'est possible ?
    Par tck-lt dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 19/08/2005, 09h39
  4. Gestion des chemins des images avec une base de données...
    Par Nean dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/07/2005, 08h08
  5. [C#] Comment récuper un page xml avec une URL
    Par pc152 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/02/2005, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo