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 :

Inclusion d'un modèle externe dans Ruby on Rail


Sujet :

Ruby on Rails

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 27
    Points
    27
    Par défaut Inclusion d'un modèle externe dans Ruby on Rail
    Bonjour à tous,

    Je suis actuellement en train de développer une IHM en ruby on rails, et je dois donc y inclure des moteurs qui ont été développés dans d'autres langages.

    Actuellement, on me fournit un moteur (donc un modèle) en perl, qui est entièrement objet.
    Je souhaiterais pouvoir utiliser ce modèle dans mon application RoR pour générer les vues qui correspondent.

    J'ai comme l'impression que les modèles doivent obligatoirement être créés en interne à l'application RoR.... mais peut être que je me trompes....

    Est-ce que quelqu'un à déjà rencontré ce type de problème.... et mieux encore, l'aurait résolu ! ?

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 218
    Points
    218
    Par défaut
    Bonjour,

    Pourrais tu préciser ce que tu appelles un "moteur" ?

    Parce qu'a première vue ça me semble compliqué de faire cohabiter tes objets Perl dans Ruby.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Alors en fait j'ai une application qui fonctionne en Perl. Elle est développée en MVC, et je peux donc récupérer le moteur (le côté M du MVC) de cette application.

    Je dois donc, pour mon IHM, utiliser le controller et la vue de RoR tout en se plugant sur le modèle issue de mon application Perl.

    En résumé, je souhaiterai pouvoir inclure mon module Perl, et l'utiliser dans mon application RoR comme si c'était un modèle du mon application RoR....

    Mon modèle Perl est capable de fonctionner soit en instanciant et en utilisant ses classes de manière normale (ce qui te semble difficile), soit par échange de données textuelles (j'envoie un string, et j'attends la réponse du moteur qui sera aussi un string).

    J'espère que j'ai été plus clair que lors de mon message précédent....

    Merci beaucoup de t'intéresser à mon problème.

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 218
    Points
    218
    Par défaut
    Si tu disposes d'un moyen de dialoguer avec ton moteur perl en ruby alors il y aura toujours possibilité de faire cohabiter tout ça.

    Cependant, tu ne vas pas pouvoir profiter des facilité qu'apportent les modèles pure-rails : comme les Relations ou la Validation par exemple. La validation est typiquement fortement lié à ActiveRecord (tout du moins en attendant Rails 3).

    Une chose que tu pourras faire est d'encapsuler les appels appels à ton monteur dans des classes pseudo-modèle.

    Par exemple, si dans ton moteur tu manipules des objets de type Toto et que tu as une méthode get(id) sur cette classe pour récupérer l'instance d'identifiant 1 de Toto ; alors tu pourrais définir une classe TotoRuby comme suit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class TotoRuby 
     
       def self.find(id)
          string_resultat = MonMoteurPerl.call("Toto.trouve(#{id})")
          # lire le fichier pour retourner un nouveau TotoRuby
          resultat = TotoRuby.new(...) # En fonction du contenu de string_resultat
       end
     
       #... et ainsi de suite pour les autres méthodes.
    end
    Par contre il faut bien comprendre qu'il sera difficile de bénéficier de toutes les facilités qui qui gravitent autour des models rails (ActiveRecord).

    Il faut également que tu est moyen de dialoguer avec ton moteur. Ce que j'ai appelé MonMoteurPerl.call(...).

    En espérant que ceci t'apporte un début de réponse à ton problème.

  5. #5
    LXS
    LXS est déconnecté
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 106
    Points : 137
    Points
    137
    Par défaut
    Si ton moteur est RESTful, tu peux utiliser ActiveResource, ce qui va mapper ton moteur avec une classe Ruby traditionnelle.

    En somme, tu auras d'un côté ton moteur Perl, et d'un autre ton application Rails (ou ses multiples instances de mongrel/thin/...).

    C'est le même fonctionnement que si tu avais une autre application Sinatra/Rails/Merb sur un autre serveur.

Discussions similaires

  1. [NetBeans] Inclure des package externes dans mon jar
    Par JavaEli dans le forum NetBeans
    Réponses: 4
    Dernier message: 13/03/2011, 20h34
  2. Inclusion de packages externes dans Eclipse
    Par kimlee dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/11/2007, 13h54
  3. inserer une page php externe dans une page JSP
    Par vrossi59 dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 05/07/2005, 16h25
  4. [XHTML11] Comment insérer une page externe dans une page ?
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/03/2005, 19h43
  5. Réponses: 10
    Dernier message: 29/10/2004, 18h45

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