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 :

ruby on rails scaffolding


Sujet :

Ruby on Rails

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 92
    Points
    92
    Par défaut ruby on rails scaffolding
    Je trouve personnellement que l'un des plus grands intérêts du "scraffolding"
    c'est de trouver les pages "html.erb" toutes prêtes
    avec TOUS les champs de la Table quand cela est nécessaire.

    Ainsi si "pseudo" est une colonne de ma Table

    c'est très agréable de trouver dans la view de "edit.html.erb" les lignes
    <%= f.label :pseudo %><br />
    <%= f.text_field :pseudo %><br />

    le tout bien "cadré" (rapport au controller) et prêtes à fonctionner.

    J'y suis arrivé 1 fois mais je n'arrive plus le refaire.

    Je fabrique une migration sur une Table (nouvelle et à créer)
    et je fais un "rake db:migrate", la Table est bien créée alors,
    et j'ajoute avec PhpMyAdmin des index si nécessaire.

    et comme ma Table s'appelle "users"
    je continue avec un "ruby script/generate scaffold users"

    Tout va bien.

    Mais dans mon "edit.html.erb" généré par le "scaffold"
    je n'ai pas grand chose qui correspond à ce que je veux (il n'y a pas de détails)
    je n'ai aucun niveau du détail pour ma Table en mode "edit" (par exemple)
    ( en plus pour le reste, çà marche même pas)

    Donc je perds les colonnes

    Pour le mode "index"
    (qui marche à peu près, mais après de très importantes modifications du html.erb)
    rien ne marche ensuite ,
    "edit", "show", ou même "new", sans adaptations importantes ne fonctionnent pas et PLANTENT
    dans le style " RuntimeError in Users#new "
    (cas le plus simple).


    Conclusion

    le "generate scaffold" pour cette simple Table m'a coûté plus d'une demi-journée de travail
    alors que l'essentiel a été fait "con la mano" (à la main) .

    J'ai passé plus de temps à essayer de comprendre
    que je n'en aurais passé à le faire sans réfléchir.

    Rails pas trop cool à ce jour (pour moi) [JAN-2009]


    Rails 2.1.2
    ruby 1.8.6

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    J'y suis arrivé 1 fois mais je n'arrive plus le refaire.
    Avec une autre version de Rails sans doute...

    le "generate scaffold" pour cette simple Table m'a coûté plus d'une demi-journée de travail
    Conclusion : Ne fais pas de scaffold !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 92
    Points
    92
    Par défaut scaffold
    et oui

    mais ça devrait marcher dans l'absolu

    selon les precepts RoR

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    Beh moi il me semble au contraire que dans l'absolu le scaffold c'est mal.
    C'est tellement mal que meme la CoreTeam de Rails a enlevé la génération des champs du _form, via le scaffold...
    Le probleme que tu décris, c'est justement les nouveautés Rails 2.x
    Ceci étant, si tu veux vraiment faire du scaffold, tu peux regarder ce post :
    http://www.developpez.net/forums/d48...s-2-0-2-howto/
    (Notre ami Horkets, un autre afficionado du scaffold )
    ou chercher du coté des plugins.
    J'avais testé le plugin "scaffolding_extension" à l'époque Rails 1.2.3 et j'avais trouvé ça pas mal du tout pour faire une appli vite fait, vite administrée, mais bon, je ne sais pas si le plugin a été updaté pour la version 2.x de Rails...A voir.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    J'y suis arrivé 1 fois mais je n'arrive plus le refaire.
    Quand ce genre de chose arrive, la vraie question à se poser est : Qu'est-ce que j'ai changé entre temps ? (Dans ton cas la réponse est vraisemblablement la version de Rails, pas vrai ?).


    A moins que je ne me trompe, depuis Rails 2.0 la syntaxe du générateur scaffold est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ruby script/generate scaffold NomDuModele champ1:type1 champ2:type2 ...
     
    exemple:
    ruby script/generate scaffold User pseudo:string
    De plus il crée la migration, le modèle, le controlleur et toutes les vues en une seule fois (et utilise l'architecture RESTful, tant qu'à faire ... )
    Toute la documentation Ruby on Rails : gotapi.com/rubyrails
    Mes articles :
    > HAML : langage de template pour Ruby on Rails

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/11/2006, 00h13
  2. Réponses: 2
    Dernier message: 06/06/2006, 10h31

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