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 :

Mon apprentissage , mes questions


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Mon apprentissage , mes questions
    Hello a tous
    Je vais rentrer en l2 d'informatique l'an prochain et j'ai decider durant mes vacances de me mettre a apprendre Ror.
    Je fais 3-4 heures tout les jours, je note sur une feuille toutes les questions que j'ai, j'epure en fin de soiree en cherchant sur le web, et je viens donc poser ici toutes celles dont je n'ai pas trouve de reponses satisfaisantes.

    Donc plutot que d'ouvrir 4000 topics, je centralise tout ici regulierement.
    Je vous remercie bien evidemment par avance pour votre aide

    1 - Les fichiers de migration

    Ce que j'ai compris : On cree une migration a chaque fois que l'on va effectuer des modifications dans la base de donnees. Ils permettent a ruby de garder un historique de nos modifications, il est peu conseille de les supprimer.

    Mes questions : Doit-on les utiliser systematiquement lorsque l'on fait le moindre changement dans la base de donnee ? Il y a t-il une convention de nommage pour ces fichiers (je sais que pour la creation de table c'est TableArticles par exemple) ? Comment doit-on proceder si on veut vider une table et repartir a l'index 1 (un truncate en somme) ? Ca me parait lourd de creer une migration a chaque vidage.
    Pour l'instant je fait dans la rails console par exemple "Article.destroy_all" mais ca ne me reinitialise pas la table, du coup lors d'un nouvel ajout je repars a l'indice 10

    2 - Les classes personnelles
    Mes questions : Si j'ai des classes personnelles, qui ne sont ni des modeles ni des controlleurs, ou est-ce que je les range ? J'ai remarque que mes classes personnelles auront tendances a etre des modeles (par exemple pour les utilisateurs une classe User)

    3 -La methode create
    Cette methode m'intrigue un peu, je ne comprends pas ce que je passe en argument en fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Article.create title: params[:title], content: params[:content]
    Mes questions : Je n'ai vu les symbole que pour les clefs de hashs et le referencement de methodes. Du coup je ne comprend pas ce que je passe a la methode create :
    Soit c'est un hash sans les accolades (avec la nouvelle syntaxe), soit ce sont des parametres independant mais du coup je ne vois pas ce qu'est ce type de couple :

    Je vous remercie

  2. #2
    Membre actif
    Profil pro
    Problem Solver
    Inscrit en
    Juin 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Problem Solver

    Informations forums :
    Inscription : Juin 2013
    Messages : 138
    Points : 231
    Points
    231
    Par défaut 3 réponses :)
    # 1. Migrations
    Utilise-les comme tu veux. C'est à voir avec la manière dont tu gère tes "ops" et ton infra.
    - Si tu es le seul, fais comme tu veux mais tente de rester cohérent.
    - Pour moi ajouter / retirer / modifier des tables et champs c'est pas mal à mettre en migration

    Pour vider les tables ou remettre les indices/ID c'est comme tu veux, un script ou même une fonction de ton appli si c'est fréquent.
    D'ailleurs je me demande pourquoi c'est fréquent : tu fais tes tests sur la même base ? Utilise les fonctions de test de Rails ça ira mieux

    # 2. Classes personnelles
    Range-les en fonction de ce qu'elles font. Tu peux avoir des classes hors "pur MVC Rails" comme par exemple des services, presenters, observers... que tu mettras alors dans des dossiers services, presenters et observers
    Un exemple très simple sur une appli : https://github.com/railsfrance/rails...ree/master/app

    Je dis pas que je recommande l'archi, il y en a plusieurs possibles, mais elle marche. En ce moment l'archi est un gros sujet dans la communauté Rails, il y a les livres et les blogs de @arkency, le "Trailblazer" (Rails alternatif) de @apotonick, et même carrément des frameworks différents comme hanami (ex LotusRB) ou Sinatra qui sont intéressants aussi.

    Bref, fais simple et apprends avec le temps.

    # 3. create
    Tu as deviné : c'est bien un hash nouvelle syntaxe, sans accolades et parenthèses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Article.create title: params[:title], content: params[:content]
    est pareil que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Article.create({:title => params[:title], :content => params[:content]})

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup pour tes reponses, c'etaient super instructif et bien detaille

    J'ai 3 nouvelles questions :

    - Quelle est la marche a suivre si je veux passer mon projet en mode "production", avant de le mettre en ligne ?

    - Si je me cree un blog perso et que je veux i=une interface d'administration, quelle est selon toi la marche a suivre la plus propre et la plus sure ? Je pensais partir sur un controller admin...

    - Quand je mettrai le site en ligne, y a t-il des dossiers/fichiers que je ne dois pas uploader ? Avec git je remarque que les logs par exemple ne sont pas uploades, mais y en a t-il d'autres a eviter ?


    Pendant mon apprentissage de rails je fais un petit blog histoire de tester chaque chose que j'apprends. Voila le lien => https://github.com/amark97/superblog , si tu as le temps de jeter un oeil .

    Merci beaucoup

  4. #4
    Membre actif
    Profil pro
    Problem Solver
    Inscrit en
    Juin 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Problem Solver

    Informations forums :
    Inscription : Juin 2013
    Messages : 138
    Points : 231
    Points
    231
    Par défaut
    > - Quelle est la marche a suivre si je veux passer mon projet en mode "production", avant de le mettre en ligne ?
    D'abord configurer une DB de prod dans ton fichier database.yml, ensuite lancer la commande rails serveur avec l'option.
    Je te laisse volontairement chercher dans le manuel (enfin dans "rails help"), tu devrais voir d'autres trucs intéressants à côté

    > - Si je me cree un blog perso et que je veux i=une interface d'administration, quelle est selon toi la marche a suivre la plus propre et la plus sure ? Je pensais partir sur un controller admin...

    Gros débat, plein de gems font ça, tous de manière très différente. RailsAdmin, ActiveAdmin, etc.
    Par contre pas de contrôleur admin : ton blog gère des articles, donc tout dans le contrôleur article (ou posts ou...).
    Le contrôleur admin qui gère des articles ET des users ET... non, trop compliqué.
    Par contre, des droits spéciaux (M), des visuels et liens différents (V), des actions spéciales (C) et des URLs spéciales (routes.rb) oui !

    > - Quand je mettrai le site en ligne, y a t-il des dossiers/fichiers que je ne dois pas uploader ?
    > Avec git je remarque que les logs par exemple ne sont pas uploades, mais y en a t-il d'autres a eviter ?

    Tout ce qui a des mots de passe
    Cherche aussi sur les conseils genre "heroku deploy" ou autre "rails gitignore", ils font souvent des récap.
    Le monde de la sécu et du déploiement est tout aussi vaste et complexe, commence petit mais apprends sans cesse, ça ne fera que s'améliorer

  5. #5
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut Sinatra est interressant mais ....
    On ne peut l'utiliser simultanément avec une installation Rails.

    Rails 5 utilise Rack 2.x,x
    Alors que Sinatra est toujour à Rack 1.X.X

    Personnellement je préfère testé les différents modèles de base de donnée avec Sinatra. Les risques de problèmes de dépendances sont moins un peu moins important. En fait , les deux applications sont utiles à connaitre. Parce que Sinatra peut-être utilisé comme Middleware pour Rails. Et parce quelque fois une brouette est plus utile qu'un camion ...

    Une dernière remarque. Pour ton apprentissage, il est préférable d'utiliser Rails 4. Les problèmes de dépendance sont moins élevé que sur 5.

    Si tu n'a pas d'éditeur, Scite est parfait pour un débutant.

    http://www.scintilla.org/SciTE.html

Discussions similaires

  1. Mon programme, mes questions
    Par Hemophilius dans le forum C++/CLI
    Réponses: 13
    Dernier message: 21/06/2008, 15h24
  2. Réponses: 2
    Dernier message: 03/01/2008, 11h00
  3. Réponses: 1
    Dernier message: 01/09/2006, 13h42
  4. Poursuite de mon apprentissage...
    Par MrPacane dans le forum C++
    Réponses: 4
    Dernier message: 19/01/2006, 14h23
  5. Serveur Dédié: mes questions...!
    Par Thierry8 dans le forum Hébergement
    Réponses: 7
    Dernier message: 19/09/2005, 22h14

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