Apprendre Ruby ​​on Rails avec des exemples. Introduction à Ruby on Rails. Hypothèses contenues dans ce manuel

Apprendre un nouveau langage de programmation peut prendre beaucoup de temps et être extrêmement ennuyeux. Les développeurs .Net vont certainement être furieux maintenant et s'exclamer : « Pourquoi ai-je même besoin d'apprendre cela, car je suis un développeur .Net professionnel et il est peu probable que mon emploi du temps quotidien puisse me permettre d'apprendre une nouvelle langue ! » Mais ce serait une affirmation extrêmement téméraire, car en apprenant de nouveaux langages de programmation, on apprend beaucoup de choses nouvelles et utiles, surtout si ce langage est une version mise à jour d'un autre langage préexistant. Ruby est l'un de ces types de langages. Je conviens que le processus de passage d'un développeur novice à un développeur professionnel dans un langage de programmation particulier est le processus le plus difficile, mais l'expérience en vaut la peine. Maintenant, je ne peux que vous mettre au courant et je suis sûr que vous ne voudrez certainement pas vous arrêter. Allez-y doucement!

Remarque : Veuillez noter que cet article ne fournit qu'une introduction superficielle à Ruby (le langage de programmation) et Rails (la plateforme d'application). L'objectif principal est de vous familiariser avec Ruby et de vous motiver à vous donner l'impulsion dont vous avez besoin pour commencer à apprendre un nouveau langage de programmation.

Qu’est-ce que Ruby ?

Ruby, comme déjà dit, est une combinaison mise à jour de différentes approches de programmation. Ruby est un excellent mélange de l'approche de flux de travail facile à comprendre de Python, de la sophistication de Smalltalk et du style léger fourni avec le développement Perl. Ruby est un haut niveau de programmation orientée objet (comme c'est le cas avec la plupart des autres langages de programmation de nos jours), qui a débuté au milieu des années 90 au Japon. Au fil du temps, Ruby s’est répandu aux États-Unis et en Europe.

Ruby est connu pour son système de types dynamiques et son allocation automatique de mémoire. Ce que je veux dire par type dynamique, c'est que la plupart des types vérifiés dans un programme Ruby sont effectués au moment de l'exécution, ce qui signifie que vous n'avez pas à vous soucier des types entiers ou chaînes. Ruby le fera pour vous. Nous verrons cela dans un petit exemple plus tard.

L'objectif principal lors du lancement de Ruby était de permettre aux utilisateurs d'interagir plus facilement avec les machines et de comprendre le code. Le fondateur de Ruby, Yukihiro Matsumoto, insiste sur l'idée que Ruby a été conçu pour rendre les programmeurs plus productifs, et non pour optimiser l'application côté machine.

« Souvent, les gens, notamment les ingénieurs informaticiens, concentrent leur attention sur les machines. Ils pensent qu’ils peuvent ainsi accélérer le fonctionnement de la machine, augmenter son efficacité, améliorer tout, tout, tout ce qui concerne la machine. Ils sont obsédés par les voitures. Mais ce que nous devons vraiment faire, c'est nous concentrer sur les gens, prendre soin d'eux et faciliter l'utilisation d'applications via des machines. Nous sommes réels et vivants, et les machines n'obéissent qu'à nous.

Qu’est-ce que Rails ?

Rails est une plateforme d'applications incroyablement productive écrite en Ruby par David Heinemeier Hansson. On estime que développer une application Web sur Rails est 10 fois plus rapide que sur une plateforme basée sur Java. Rails est un framework open source basé sur Ruby (bien sûr !) qui peut être utilisé pour une intégration de base de données rapide et facile.

Rails est connu pour ses idées exceptionnellement avancées qui ont permis diverses nouvelles approches de programmation et un cadre de programmation dynamique. Le code de l'application principale et la base de données mise à jour incluront toujours toutes les propriétés Ruby requises pour exécuter le programme du début à la fin.

Programme Ruby régulier

Voyons à quel point les choses seront simples et intéressantes après cela :

Code:
personnel = "Je n'aime pas ma petite amie"
met personnel
A la sortie :
Je n'aime pas ma copine
Oui oui! Pas d'initialisation, pas de points-virgules et pas de méthodes.

Essayons maintenant de voir la différence entre PHP et Ruby en utilisant un exemple où nous devons inverser une chaîne :

PHP :
strrev("chaîne");
Rubis:
« chaîne ».reverse
Voilà ! Nous ne perdons pratiquement pas de temps et inversons complètement la séquence des enregistrements. La différence d’effort déployé dans les deux langues doit être prise en compte. Un langage de programmation basé sur Ruby simplifie grandement le processus d'écriture d'un programme. Cela rappelle plus l’écriture en anglais que dans un langage de programmation. C'est l'avenir de toutes les langues.

Avantages de l'utilisation de Ruby (et Rails)

Tout le monde sait que le monde de Ruby est très vaste, et aujourd'hui nous n'en avons même pas couvert 1%, mais cet article vous permettra de ressentir la puissance de ce langage de programmation et vous encouragera à commencer à vous en familiariser vous-même. Plongeons maintenant dans le monde des avantages de Ruby :

* Disponibilité. Comme indiqué précédemment, c'est l'un des principaux avantages de Ruby. En tant que langage de programmation, Ruby est très raffiné et très similaire à l'anglais. C'est la similitude avec le langage parlé courant qui permet aux débutants de se familiariser facilement avec Ruby.

* Laconicisme et pouvoir. L'exemple ci-dessus nous montre à quel point le code Ruby est concis. C'est le plus court possible. De plus, Ruby est un langage aussi puissant que n’importe quel autre langage car il s’agit d’un langage de programmation orienté objet de haut niveau.

* pas besoin de réinventer la roue. Rails (basé sur Ruby) est une interface de programmation avec laquelle vous n'avez pas besoin de réinventer la roue. Il génère du code qui peut être réutilisé dans différents cas.

* Tests intégrés. Rails est populaire pour sa sécurité et sa possibilité de correctifs. La plateforme vous proposera des options de codage possibles, ce qui facilitera grandement le processus de développement. Rails propose également des tests simples qui peuvent être étendus à la demande des programmeurs.

* Environnements de développement, de test et de production. Rails vous permet de démarrer votre projet dans trois environnements différents appelés Dev, Test et Prod. Les trois environnements se comportent légèrement différemment.

Sélection

Jetons maintenant un coup d'œil à quelques sites Web (populaires) développés à l'aide de l'outil Ruby. Vous verrez avec quelle intelligence les concepteurs gèrent leurs projets en utilisant Ruby.


02.


03.


04.


05.


06.

Aujourd'hui, j'ai trouvé une histoire sur Internet sur la façon dont un certain James Fend a appris Ruby on Rails pendant 12 semaines. Ci-dessous, vous pouvez lire une traduction relativement précise de cette histoire et, espérons-le, être inspiré pour explorer ce merveilleux cadre (et ce merveilleux langage).

Avant de commencer, j'aimerais vous présenter Josh Crews (http://joshcrews.com) et le remercier de m'avoir convaincu de commencer à apprendre Ruby on Rails ; sans lui, sans son aide et sans les heures qu'il a passées à être mon mentor, je n'écrirais pas ceci aujourd'hui. Merci.

Le 23 janvier, j'ai lancé mon idée de rêve, Freelancify.com. Il y a exactement 12 semaines, j'étais un entrepreneur technologique dépensant des milliers de dollars pour créer un MVP (produit minimum viable) décent parce que je manquais de connaissances. L'une des raisons (je pensais à l'époque) était que la formation était trop difficile pour moi ou qu'elle prendrait énormément de temps. Je pensais (comme beaucoup d'autres) que les programmeurs sont (et certains sont) nés avec un ensemble de compétences magiques en résolution de problèmes et en mathématiques qui font d'eux des génies de la programmation. Et il y a exactement 12 semaines J'ai pris la meilleure décision que j'ai prise depuis très, très longtemps.. Aucune de mes idées ne restera plus qu’une idée. J'ai maintenant la possibilité de lancer des versions de production, en dépensant de l'argent uniquement pour l'hébergement et en faisant quelques efforts. Aujourd’hui, cet ensemble de compétences revient à tirer un groupe de tracteurs pendant la ruée vers l’or en Californie, alors que tout le monde utilisait de simples pelles. Je suggère à tout le monde d'apprendre à écrire du code. Ici, je voudrais ajouter une précision : plus tôt, j'avais intitulé l'article « Comment j'ai appris Rails en 8 semaines », cependant, pour être précis, compte tenu de la date de lancement, il s'avère que c'est 12 semaines. Cependant, au bout de 8 semaines, j'ai senti que j'en savais assez, et les quatre semaines suivantes ont été consacrées davantage à mettre en pratique les connaissances que j'avais acquises plutôt qu'à apprendre.

Quelles compétences avais-je avant de commencer à apprendre Rails ?

J'étais un concepteur Web avec des connaissances en HTML et CSS et je me concentrais principalement sur la conception UI et UX. La chose la plus difficile que j'ai faite avec le code réel (sans compter le HTML) est de pouvoir personnaliser Wordpress. Bref, je n'avais absolument aucune idée de ce qu'était un framework MVC ni du fonctionnement des bases de données en général. Le design, la mise en page et le HTML de Freelancify ont été créés par moi en deux semaines en juin 2011.

Pourquoi ai-je décidé d’étudier ?

En juin 2011, lorsque la mise en page était prête, j'ai commencé à chercher un codeur qui rendrait la mise en page fonctionnelle. La mise en page était presque prête : j'avais des champs de texte, des menus déroulants, des formulaires, des boutons, des liens menant là où c'était nécessaire, etc. J’ai trouvé un développeur et, en un mot, ce type ne me convenait pas. Je me suis retrouvé avec une tonne de dettes et aucun produit n’était même sur le point d’être terminé. J'ai donc contacté Josh Krius (je l'ai rencontré lors d'une rencontre Ruby on Rails qu'il a organisée à Nashville) et je l'ai rencontré pour voir si je pouvais faire quelque chose de ce qu'il me restait en tant que développeur. Malheureusement, réparer et modifier le code ne prendrait pas moins de temps que de le développer à partir de zéro par un programmeur compétent. J'ai été découragé en réalisant que je ne pouvais pas me permettre de dépenser à nouveau des milliers de dollars pour un développement à partir de rien. Et puis Josh a dit… " Pourquoi ne pas simplement apprendre à gérer Ruby on Rails, ce projet serait un excellent moyen" et puis " Je peux même vous rencontrer deux fois par semaine et vous aider dans vos études" J'ai passé toute la nuit à y penser. Mes options étaient : trouver un emploi confortable et payer les factures OU risquez tout pour apprendre Rails et finalement vous régaler des meilleurs ramen que l'Italie a à offrir. J'ai décidé. J'ai appelé Josh le lendemain matin. J'ai tout mis. J'ai alloué l'argent des économies restantes et je l'ai réparti sur trois mois (pour un célibataire vivant seul et sans enfants, mille dollars par mois suffisent). Il est temps de me mettre au travail, je suis désormais apprenti à temps plein. En gardant à l'esprit que la recherche Google, Stackoverflow, IRC #RubyOnRails et la communauté Rails me soutiendront lorsque je serai bloqué, je suis sûr qu'il y en aura beaucoup.

Mes trois prochains mois - Mission: Obtenez un MVP, faites-en suffisamment pour travailler, mais pas « assez pour être nul » pour laisser une mauvaise première impression.

Semaines 1 à 3

C’était probablement la plus grande courbe d’apprentissage, mais je n’ai PAS abandonné.

Les murs sont faits pour les gens qui ne veulent pas vraiment les quitter.

Mettre en place un environnement Rails fonctionnel pour un débutant complet peut être incroyablement ennuyeux. Conseil n°1 : procurez-vous un Mac. Astuce n°2 : utilisez Homebrew, RVM, Git et Heroku (c'est vraiment tout ce dont vous avez besoin pour commencer). J'ai passé quelques jours à installer, puis j'ai tout désinstallé et réinstallé. Répétez-le simplement plusieurs fois et vous vous habituerez à utiliser la ligne de commande du terminal (console) et comprendrez pourquoi les choses fonctionnent comme elles le font. Ensuite, la première chose que j'ai adoptée a été TryRuby, Rails for Zombies et le didacticiel Rails de Michael Hartl. Ne vous inquiétez pas de comprendre la matière à 120 %, cela n'arrivera que lorsque vous commencerez réellement à étudier. J'ai terminé le didacticiel Rails et créé cette application de type Twitter en une semaine environ, sans vraiment comprendre ce que j'avais fait. Plus tard, au fur et à mesure de ma progression, j’ai commencé à réaliser que tout commençait à avoir un sens.

Semaines 3 à 6

Avec une application Twitter créée à l'aide du didacticiel Rails, j'ai gagné en confiance. Le tutoriel n'a pas fait de moi un développeur, mais je connais maintenant les étapes générales de création d'applications, de la création de l'application elle-même à son installation sur Heroku. Tout ce qui s’est passé entre les deux est resté flou. Comment puis-je VRAIMENT commencer à étudier maintenant ? Travailler sur un vrai projet qui compte pour moi. Josh et moi avons décidé que je devrais travailler librement sur Freelancify et voir ce que je pouvais faire. La première chose que j'ai faite a été de déplacer tout le code HTML du framework et de l'organiser en vues et fichiers partiels. J'ai créé des plates-formes de modèles échafaudées pour les utilisateurs et les projets. Ensuite, j'ai commencé à apprendre mon premier véritable joyau, Devise. Ensuite, la possibilité d'avoir des relations, par exemple, chaque Utilisateur aura un portefeuille. Mais les utilisateurs peuvent avoir plusieurs portefeuilles, tandis que chaque portefeuille ne peut appartenir qu'à un seul utilisateur. Une fois que vous aurez compris comment fonctionnent les relations entre les modèles et comment appeler/afficher des choses qui appartiennent à autre chose, la vie deviendra beaucoup plus facile. Si vous êtes bloqué sur une pièce et que vous ne pouvez pas bouger, ignorez-la. Il est probable que pendant que vous développez une autre fonctionnalité, vous découvrirez également comment implémenter ce que vous avez manqué.

Semaines 6 à 9

Pas à pas, j'ai continué à apprendre, à copier et à répéter. Je faisais fonctionner certaines choses, et puis - bam - et je me heurtais à un mur et je n'avais absolument aucune idée de quoi faire ensuite. Que ce soit sur Stackoverflow, sur le chat IRC #RubyOnRails, RailsCasts ou en tirant sur Josh, j'ai finalement compris comment procéder. Faites la même chose encore et encore et vous comprendrez assez rapidement. Passer des heures ennuyeuses à tester la réponse de quelqu'un sur Stackoverflow pour se rendre compte que cela ne fonctionne pas est en fait utile. Vous comprenez ce qu'il ne faut pas faire. Et quand tu trouveras la réponse, tu commenceras à comprendre POURQUOI ce dernier n'a pas fonctionné. C’est à cette époque que j’ai commencé à prendre conscience de l’ampleur des choses et à vraiment comprendre POURQUOI tout fonctionne exactement comme il fonctionne. Je me sentais comme un idiot et je suis revenu en arrière et j'ai refactorisé le code que j'avais écrit plus tôt pour le rendre plus efficace. Et à un moment donné, j’ai atteint un stade où tout a commencé à se mettre en place.

Semaines 9 à 12

J'étais en mode énergie incroyable pour amener Freelancify à la phase de lancement. À ce stade, j'avais l'impression de voler et de mettre les fonctions en action. La dernière semaine a été consacrée au débogage de divers bugs et erreurs. Ce lundi j'ai lancé le site. Mais je suis encore loin d'avoir terminé mes études... C'est tout. J'ai omis (par souci de brièveté du message) les petits détails et points techniques. Cependant, n'hésitez pas à poser des questions dans les commentaires, j'essaierai certainement d'y répondre. James Fend.

P.S. - Même si cela m'a beaucoup aidé d'avoir un mentor que je pouvais rencontrer, vous pouvez certainement apprendre Rails sans en avoir un. Ou essayez de trouver une telle personne, de nombreux développeurs Rails aiment contribuer à la communauté. Recherchez des conférences et des rencontres locales.

Cette entrée date déjà de plus de deux ans (publiée le 27 janvier 2012), mais elle n'a néanmoins pas perdu de sa pertinence. Pendant ce temps, James Fend a réussi à vendre Freelancify et à investir dans une nouvelle startup, il a laissé une note à ce sujet le 27 février 2013. Je pense que cet article est un excellent exemple de la façon dont une personne peut atteindre son objectif. Il ne vous reste plus qu'à commencer. :)

Ruby est un langage de programmation puissant et populaire. En plus de sa popularité, il constitue la base d'un framework bien connu qui vous permet de créer des sites Web sympas et dynamiques sur des sujets variés. Si vous regardez le classement TIOBE, la langue est l'une des vingt langues les plus populaires au monde.

Le langage est apparu en 1995 et est considéré comme un langage jeune par rapport au C ou au C++, apparus respectivement en 1972 et 1983. Le langage présente un certain nombre d'avantages et de fonctionnalités spécifiques qui y sont implémentées exclusivement, si l'on compare d'autres langages de programmation populaires.

Plan de cours

Pendant le cours vidéo, vous apprendrez le langage Ruby sans utiliser de frameworks supplémentaires. Cours supplémentaires sur Rubis vous pouvez le trouver sur .

Pendant le cours, nous apprendrons à installer et à utiliser le langage, à apprendre la syntaxe Rubis(variables, boucles, instructions conditionnelles), ainsi que des choses plus complexes : POO, travail avec des fichiers, exceptions, méthodes, et nous aborderons bien d'autres sujets.


Installer Ruby sous Windows

Pour installer Ruby sous Windows, utilisez RubyInstaller, qui peut être téléchargé sur le site officiel en utilisant ce lien. Téléchargez la dernière version et installez-la comme un programme classique. Une fois l'installation terminée, vous verrez une fenêtre similaire :

Dans cette fenêtre, assurez-vous que la case est cochée, puis une autre application s'ouvrira pour l'installation. Rubis dans le système.

Dans la fenêtre qui s'ouvre, entrez 1 un par un et appuyez sur Entrée, attendez la fin de l'installation, appuyez sur 2 et Entrée, et à la fin exécutez la troisième commande en appuyant sur 3 et Entrée.

Installer Ruby sur Mac

Sur un Mac, Ruby est installé par défaut, vous n'avez donc rien d'autre à faire. Vous pouvez vérifier la version linguistique dans le terminal à l'aide de la commande suivante :

Si la version est obsolète, vous pouvez en télécharger une nouvelle. Tout d’abord, vous devez télécharger le gestionnaire de versions Ruby. Cela se fait via le terminal à l'aide de la commande :

Curl -L https://get.rvm.io | bash -s stable

Après avoir installé le gestionnaire, vous devez redémarrer le terminal. Exécutez la commande suivante :

Liste Rvm connue

Après le redémarrage, vous pouvez installer la version souhaitée. Dans notre cas, la version 2.4.2 a été installée :

Rvm installer ruby-2.4.2

À la fin, vous pouvez vérifier à nouveau la version et si elle est encore ancienne, installez simplement la nouvelle version par défaut.

Dans cet article, je souhaite vous expliquer comment créer une application simple qui fonctionne avec une base de données MySQL dans l'environnement Ruby on Rails 3. Vous pouvez considérer ce matériel comme un guide étape par étape pour les programmeurs Rails débutants.

Donc, pour le travail, nous avons besoin de rails et de rubygems installés. Hier, j'ai eu un problème avec ce dernier, j'ai donc dû supprimer le package rubygems1.8 (on ne sait pas comment il s'est retrouvé dans le système) et installer rubygems1.9. Laissez-moi vous rappeler que je développe sur Ubuntu, bien que pour Windows Je pense que les commandes de la console Rails seront les mêmes. En tant qu'environnement de développement, j'utilise NetBeans avec un plugin pour Ruby on Rails. Mon collègue a bien écrit sur l'installation.

Vérification des liens

Vous devez vous assurer que le répertoire /usr/bin contient des liens symboliques rails, rake, ruby, bundler vers les fichiers du répertoire /usr/local/ruby/bin. Pour afficher les liens, utilisez la commande :

en fonction de ce que vous souhaitez filtrer.

Création d'une application

J'ai créé un répertoire spécial pour mes applications Ruby.

mkdir /home/andrey/ruby
cd /home.andrey/ruby

Rails dispose de nombreux utilitaires de console qui facilitent grandement votre travail, notamment pour le prototypage. Pour créer une application utilisant MySQL comme base de données, exécutez la commande :

app est le nom de notre nouvelle application. Après avoir exécuté la commande, nous verrons comment rails a fait de nous le framework de la future application.

root@vaio:~/ruby# lance la nouvelle application -d mysql
créer
créer un fichier README
créer un fichier Rake
créer config.ru
créer.gitignore
créer un fichier Gem
créer une application
créer app/controllers/application_controller.rb
créer app/helpers/application_helper.rb
créer des applications/mailers
créer des applications/modèles
créer app/views/layouts/application.html.erb
créer une configuration
créer config/routes.rb
créer config/application.rb
créer config/environment.rb
créer une configuration/des environnements
créer config/environments/development.rb
créer config/environments/production.rb
créer config/environments/test.rb
créer une configuration/initialiseurs
créer config/initializers/backtrace_silencers.rb
créer config/initializers/inflections.rb
créer config/initializers/mime_types.rb
créer config/initializers/secret_token.rb
créer config/initializers/session_store.rb
créer une configuration/locales
créer config/locales/en.yml
créer config/boot.rb
créer config/database.yml
créer une base de données
créer db/seeds.rb
créer un document
créer doc/README_FOR_APP
créer une bibliothèque
créer une bibliothèque/tâches
créer lib/tasks/.gitkeep
créer un journal
créer un journal/server.log
créer un journal/production.log
créer un journal/développement.log
créer un journal/test.log
créer du public
créer public/404.html
créer public/422.html
créer public/500.html
créer public/favicon.ico
créer public/index.html
créer public/robots.txt
créer du public/des images
créer public/images/rails.png
créer des feuilles de style publiques
créer public/stylesheets/.gitkeep
créer du public/javascripts
créer public/javascripts/application.js
créer public/javascripts/controls.js
créer public/javascripts/dragdrop.js
créer public/javascripts/effects.js
créer public/javascripts/prototype.js
créer public/javascripts/rails.js
créer un script
créer un script/rails
créer un test
créer des tests/appareils
créer un test/fonctionnel
créer un test/une intégration
créer test/performance/browsing_test.rb
créer test/test_helper.rb
créer un test/une unité
créer un tmp
créer tmp/sessions
créer des tmp/sockets
créer tmp/cache
créer tmp/pids
créer un fournisseur/plugins
créer un fournisseur/plugins/.gitkeep

Nous allons dans le dossier avec et installons les gemmes nécessaires. Les gemmes sont des bibliothèques de plug-ins nécessaires au projet (analogues aux PECL et PEAR de PHP).

Après cela, la console affichera quelque chose comme ceci :

andrey@vaio:~/ruby/app> installation du bundle sudo
Utiliser le râteau (0.8.7)
Utiliser le résumé (1.0.0)
Utilisation d'activesupport (3.0.0)
Utilisation du constructeur (2.1.2)
Utilisation de i18n (0.4.2)
Utilisation du modèle actif (3.0.0)
Utiliser l'érubis (2.6.6)
Utilisation du support (1.2.1)
Utilisation du montage en rack (0.6.13)
Utilisation du test en rack (0.5.6)
Utiliser tzinfo (0.3.23)
Utilisation du pack d'action (3.0.0)
Utiliser des types MIME (1.16)
Utiliser polyglotte (0.3.1)
Utiliser la cime des arbres (1.4.8)
Utiliser le courrier (2.2.9)
Utiliser Actionmailer (3.0.0)
Utilisation d'Arel (1.0.1)
Utilisation d'ActiveRecord (3.0.0)
Utilisation de ressources actives (3.0.0)
Utilisation du bundler (1.0.3)
Utiliser MySQL2 (0.2.6)
Utiliser Thor (0.14.4)
Utilisation de railties (3.0.0)
Utiliser des rails (3.0.0)
Votre pack est complet ! Utilisez `bundle show ` pour voir où une gemme groupée est installée.

Cela signifie que toutes les gemmes sont installées et connectées. S'il manque quelque chose, le bundle lui-même les téléchargera depuis Rubygems et les installera. C'est ce qui me manquait depuis longtemps dans PHP : il s'avère essentiellement qu'il s'agit d'un installateur de projet. La liste des gems dépendantes se trouve dans le Gemfile à la racine du projet.

Configuration

Nous devons maintenant spécifier les détails d'accès à la base de données de notre projet. Ouvrez le projet dans NetBeans : Nouveau projet -> Ruby -> Application Ruby on Rails avec la source existante. Nous indiquons le chemin, dans mon cas ce sera (/home/andrey/ruby/app) et le nom du projet (app). Pour la plateforme Ruby, nous sélectionnons celle installée sur le système, plutôt que celle intégrée à NetBeans. Cliquez sur Terminer et le projet est créé. Ouvrez le pseudo-dossier Configuration et le fichier database.yml. Ici, vous devez spécifier le login et le mot de passe pour accéder à la base de données, de préférence pour les trois environnements à la fois (développement, test, production). L'environnement est l'environnement dans lequel notre application s'exécutera,

  • développement - ordinateur du développeur,
  • serveur de production - exploitation industrielle,
  • test - travaillez en mode test sur le serveur d'intégration continue ou sur l'ordinateur du testeur.

les rails génèrent le modèle Nom d'utilisateur : chaîne hasched_password : chaîne salt : chaîne

Vous pouvez immédiatement voir ce que Rails a généré pour nous :

invoquer active_record
créer db/migrate/20101107054200_create_users.rb
créer app/models/user.rb
invoquer test_unit
créer test/unit/user_test.rb
créer test/fixtures/users.yml

Super, nous devons maintenant créer une base de données. Pour ce faire nous faisons :

andrey@vaio:~/ruby/app$ rake db:create
(dans /home/andrey/ruby/app)
andrey@vaio:~/ruby/app$ rake db:migrate
(dans /home/andrey/ruby/app)
== CreateUsers : migration ============================================== =======
— create_table(:utilisateurs)
-> 0,0061s
== CreateUsers : migré (0,0063 s) ========================================== ============== ==

La console affiche les données ajoutées. Nous regardons dans phpmyadmin et voyons les nouvelles bases de données app_development et app_test, ainsi que les tables qu'elles contiennent. Il est maintenant temps d'ajouter des données réelles. Pour cela, lancez la console Rails

Une console n'est pas seulement une console, mais une console IRB dans le contexte de votre application. A titre d'exemple, créons deux utilisateurs :

andrey@vaio:~/ruby/app$ rails console
Chargement de l'environnement de développement (Rails 3.0.0)
irb(main):001:0> user1 = User.new
=> #
irb(main):002:0> user1.name = "andrey"
=> "andré"
irb(principal):003:0> user1.save
=> vrai
irb(main):004:0> user2 = User.new
=> #
irb(main):005:0> user2.name = "vasiliy"
=> "vasiliy"
irb(principal):006:0> user2.save
=> vrai

irb (principal): 007: 0> quitter
andrey@vaio:~/ruby/app$

Regardons la base de données, et en effet nous avons deux utilisateurs. Je voudrais noter que Rails lui-même a ajouté des colonnes de clé primaire et des champs create_at (date de création) et update_at (date de modification) au modèle.

Nous avons un modèle et nous avons aussi des données. Il est temps de lancer notre application.

andrey@vaio:~/ruby/app$ serveur rails
=> Démarrage de WEBrick
=> Application Rails 3.0.0 commençant en développement sur http://0.0.0.0:3000
=> Appeler avec -d pour se détacher
=> Ctrl-C pour arrêter le serveur
INFO WEBrick 1.3.1
INFO rubis 1.9.2 (2010-08-18)
INFO WEBrick::HTTPServer#start : pid=4193 port=3000

L'application est en cours d'exécution, ouvrez le navigateur à l'adresse et consultez la page de test.

Super, l'application fonctionne. Mais il affiche une page HTML normale du dossier /public/index.html. Et nous voulons du dynamisme. Ouvrez la deuxième fenêtre de la console (puisque dans la première nous avons le serveur Ruby en cours d'exécution - WebRick), allez dans le dossier contenant le projet et tapez-y la commande suivante :

andrey@vaio : ~/ruby/app$ les rails génèrent l'index du contrôleur
créer app/controllers/index_controller.rb
route obtenir "index/index"
invoquer erb
créer une application/vues/index
créer app/views/index/index.html.erb
invoquer test_unit
créer test/fonctionnel/index_controller_test.rb
appeler l'assistant
créer app/helpers/index_helper.rb
invoquer test_unit
créer test/unit/helpers/index_helper_test.rb
andrey@vaio:~/ruby/app$

Avec cela, nous avons créé un contrôleur d'index, il y a une action Index et le type de cette action est index.html.erb Nous effectuons Actualiser (F5) dans NetBeans et regardons nos fichiers. Incroyable. Nous devons maintenant rediriger d'une manière ou d'une autre l'itinéraire de la page principale vers l'action du contrôleur que nous avons créée. Ouvrez le fichier routes (Configuration/routes.rb) et décommentez-y la ligne suivante :

# Vous pouvez faire router la racine de votre site avec « root »
# n'oubliez pas de supprimer public/index.html.
root:to => "bienvenue#index"

Seulement, au lieu de bienvenue, nous écrivons également index. Eh bien, je suis habitué au Zend Framework où le contrôleur et l'action sont appelés index par défaut (n'oubliez pas de supprimer (ou de renommer) le fichier public/index.html).

racine:to => "index#index"

Nous actualisons la page dans le navigateur et constatons que notre vue est désormais affichée.

Index#index

Super. Maintenant, nous pouvons coder. Accédez à notre contrôleur nouvellement créé (Contrôleurs -> index_controller.rb) et écrivez-y le texte d'action suivant :

classe IndexController< ApplicationController
indice déf
@users = Utilisateur.find(:all)
fin
fin

Ouvrez maintenant la vue Views/index/index.html.erb et écrivez-y le code suivant :

Index#index


Trouvez-moi dans app/views/index/index.html.erb


<% for user in @users -%>
<%=user.name%>

<% end %>

En faisant cela, nous demandons à Rails de parcourir le tableau d'utilisateurs et d'afficher leurs noms. Nous actualisons la page et voyons la liste des utilisateurs ci-dessous.

Index#index

Trouvez-moi dans app/views/index/index.html.erb

andré
Vassili

Super! L'application est créée !

Merci!

Si cet article vous a aidé ou si vous souhaitez soutenir mes recherches et mon blog, voici la meilleure façon de le faire :

L'un des premiers et des plus détaillés livres de formation Rails sur Internet. Le principal avantage est une couverture détaillée des problèmes les plus importants, des mises à jour régulières et un contenu de base gratuit.

Certes, la ressource est entièrement en anglais. Et il est important de comprendre que cela est construit sous la forme d'un livre - vous devez résoudre vous-même tous les problèmes. De ce fait, la durée et la complexité de la formation ne peuvent être prédites.

2. Diffusions ferroviaires

Une autre ressource éducative bien connue sur Internet. Plus d'une génération de développeurs Rails y ont grandi. Également en anglais.

Il n’est pas construit comme un cours de formation complet, mais comme une série de screencasts – de courtes leçons sur un sujet spécifique. Il existe de nombreuses leçons, vous pouvez les trouver sur presque tous les sujets.

Malheureusement, le projet a cessé de se mettre à jour en 2013.

3. Rails pour zombies

Une introduction ludique au on-rails pour débuter dans le style jeu de quête avec une ambiance zombie. Très populaire parmi les débutants complets.

C’est pratique car vous n’avez rien à installer sur votre ordinateur. Tous les problèmes sont résolus dans le navigateur. Étape par étape, vous parcourez le jeu et commencez à comprendre les bases de Ruby on Rails.

Si vous ne comprenez pas du tout la programmation, c'est votre choix. Il n'y a pas de sujets complexes dans le cours, rien ne détourne l'attention des bases. En anglais.

3.Udemy

Grande collection de cours vidéo. Parmi eux, il y en a beaucoup pour le rubis et le rubis sur rails. Il ne sert à rien de fournir des liens spécifiques - choisissez selon vos goûts en fonction du prix ou de la popularité.

Le format Udemy implique des cours assez courts mettant l'accent sur les cours vidéo. Ne vous attendez pas à des devoirs sérieux ni à un soutien rapide de la part des enseignants.

4. Bourse rubis

Un cours court et puissant sur les bases du développement Rails. Professeurs expérimentés, bon programme.

La présence personnelle de l’étudiant au cours est souhaitable et celui-ci a lieu uniquement dans les grandes villes ukrainiennes.

5. Développement en Ruby on Rails de Evil Martians

Un cours intensif de trois jours dispensé par l'une des équipes Ruby on Rails les plus expérimentées de Russie.

Rarement fait. C'est cher (à en juger par les critiques, ça vaut le coup). Nécessite une présence personnelle. Convient uniquement aux programmeurs avancés, les débutants n'y ont rien à faire.

6. Cours intensif en ligne Ruby on Rails de « A Good Programmer »

Un nouveau projet d'une équipe connue sur Youtube pour ses cours Ruby pour débutants.

Le programme intensif de 3 mois est conçu pour les débutants complets et promet de faire de vous un programmeur junior doté d'un portefeuille de pas moins de 12 applications intelligentes.

Le cours comprend des leçons vidéo, des travaux pratiques, un soutien pédagogique et des webinaires réguliers.

À en juger par la chaîne YouTube et les commentaires des utilisateurs, ces gars savent ce qu’ils font et vous ne vous ennuierez pas avec eux.