Apprenez Ruby on Rails à partir de zéro Semaine 1

Ruby on Rails… la plupart des gens en ont entendu parler. Cela promet un code plus efficace, une orientation totale des objets et une véritable architecture MVC. En ce qui concerne mon expérience personnelle, c’est tout cela et plus encore. Le code est beau, facile à maintenir et à éditer. Dans un projet récent sur lequel je travaillais, il m'a fallu moins de 10 heures pour faire l'application, contre au moins le double de celui que j'écrivais en PHP..

J'ai entendu beaucoup de développeurs Web qui connaissent d'autres langues, généralement ASP ou PHP, qui souhaitent apprendre Ruby on Rails, mais ne savent tout simplement pas par où commencer. Par expérience personnelle, je sais que c'est très différent de PHP. Personnellement, j’ai appris à utiliser Ruby on Rails il ya moins d’un an et j’ai eu très peu de problèmes jusqu’à présent. Si vous ne l’avez pas déjà fait, je vous recommande vivement de vous joindre à Ruby on Rails!

Déclaration de mission

Dans cette série de didacticiels, j'espère vous empêcher de ne rien savoir de Ruby on Rails (si c'est vrai) à la possibilité d'écrire des applications Web complètes. Je me souviens de ce que c’était de l’apprendre. Je ne trouvais aucune série de tutoriels qui vous expliquent l'essentiel en anglais clair et dans un ordre qui soit bénéfique pour moi, l'apprenant. Bien qu'il existe de très bonnes ressources, elles doivent également être combinées avec d'autres. Au bas de ce didacticiel, je vais également énumérer les ressources que j’ai trouvées utiles par le passé..

Cette série sera similaire à la série PHP à partir de rien, mais avec Ruby on Rails. Il y en aura une publiée chaque semaine, de plus en plus avancée.

Ce tutoriel

Je vous préviens, ce premier tutoriel est peut-être un peu sec, mais il est nécessaire pour apprendre RoR (appelons-le comme ça à partir de maintenant!). Cette semaine, nous allons couvrir la configuration du framework et du serveur Web ainsi que le fonctionnement du framework. Nous allons établir les bases nécessaires pour apprendre RoR. C’est là que beaucoup de développeurs Web qui souhaitent apprendre le RoR échouent. Je promets que nous ferons beaucoup plus de choses excitantes la prochaine fois.!

Qu'est-ce que Ruby??

Ruby est la langue utilisée par les rails de la structure. C'est très orienté objet. Sa syntaxe est inspirée de celle de Perl et est donc très similaire. Il est également similaire à Python, Lisp, Dylan et CLU. Pour citer Wikipedia:

 "Ruby a été conçu le 24 février 1993 par Yukihiro Matsumoto qui souhaitait créer un nouveau langage qui équilibre la programmation fonctionnelle avec la programmation impérative. Selon Matsumoto, il souhaitait un langage de script plus puissant que Perl et plus orienté objet que Python. C'est pourquoi j'ai décidé de créer ma propre langue "."

C'était le plus populaire au Japon, jusqu'à ce que le cadre Rails soit sorti. Depuis lors, il a continué de croître à un rythme phénoménal partout.

Qu'est ce que Rails??

Rails est le fameux cadre qui fonctionne en rubis. Sa base d'utilisateurs est en croissance constante. Développé par David Heinemeier Hansson de 37signals for basecamp, il a été lancé en tant que source ouverte en juillet 2004. Il utilise l’architecture MVC (Model - View - Controller). Si vous voulez une mise à niveau sur MVC, assurez-vous de consulter le tutoriel MVC. La dernière version est la 2.1.0. Il y avait quelques changements significatifs dans la v2. Cela inclut la fonction d'échafaudage célèbre de v1. Cela a un peu changé dans la version 2.

Concepts de Ruby on Rails

Ruby on Rails suit plusieurs principes pour que son code soit épuré et propre. Vous devriez essayer de respecter ces principes pendant que vous travaillez avec RoR pour en tirer le meilleur parti. D'une part, il suit le terme de programmation Agile de SEC (Ne te répète pas). Évidemment, cela signifie que vous n’écrivez votre code qu’une fois dans un endroit cohérent. Par exemple, si vous avez besoin du code pour faire une certaine chose, vous le placerez à un certain endroit à chaque fois..

Le deuxième concept que RoR suit est CoC (Conventions sur la configuration).Cela signifie que ruby ​​suppose beaucoup, et explique la plupart des défauts automatiques que vous verrez ruby ​​générer pour nous. Au lieu de toujours tout configurer, Ruby le fait automatiquement pour vous dans chaque projet. Ensuite, si vous voulez faire quelque chose de non conventionnel, vous remplacez simplement les valeurs par défaut que RoR a déjà mises en place. code devant être écrit.

Avantages de l'apprentissage Ruby on Rails:

  • C'est assez facile à apprendre par rapport à d'autres langues
  • Complètement orienté objet
  • Architecture MVC
  • Vous n'avez pas à écrire autant de code
  • Très extensible
  • Open source
  • La communauté est extrêmement utile pour répondre aux questions
  • Bien qu’il s’agisse d’un framework relativement nouveau, il est très complet et contient très peu de bugs..

Inconvénients de Ruby:

  • Processus différent, le code peut donc être un peu plus lent sur des serveurs qui ne sont pas vraiment conçus pour gérer le code Ruby.

Je n'ai entendu que cette affirmation, mais de plus en plus de serveurs sont de mieux en mieux équipés pour Rails, qui continue de croître, ce qui pose de moins en moins de problèmes..

Un fichier Ruby

Un fichier ruby ​​a l'extension .rb. Ces fichiers ne contiennent généralement pas de HTML. Ceci est un extrait d'un fichier ruby ​​(en particulier un contrôleur) d'un moteur de jeu que j'ai récemment créé. Comme vous pourrez peut-être voir. Il extrait les données d'une base de données et répertorie les jeux en fonction de la catégorie et du titre des variables:

classe GameController < ApplicationController def game_list
@title = '3'
@category = 'Action'
@games = Game.find (: all,
: conditions => ["titre LIKE? AND catégorie =?", '%' + titre + '%', catégorie],
: order => 'title, category ASC',
: limite => 5,: offset => 0)
fin fin

Un fichier Ruby intégré

Comme beaucoup d'autres langages Web, Rails vous permet d'intégrer Ruby avec HTML. Seki Masatoshi a écrit un programme appelé ERb, embedded ruby, qui analyse tous les fichiers .rhtml (fichiers ruby ​​intégrés), jusqu'à ce qu'il apparaisse <% Ruby Code that is only processed -%> ou <%= Ruby Code that is then outputted %>. Il traite ensuite le code ruby ​​et remplit les blancs si nécessaire.

Voici un exemple de Ruby Embedded:

<% title = "Nettuts" %>
<% header_text = "Ruby on Rails Tutorial" %>


<%= title %>


<%= header_text %>


Ceci est un exemple de page .rhtml.



Voici comment l'utilisateur l'obtiendra:

 

Nettuts


Tutoriel Ruby on Rails


Ceci est un exemple de page .rhtml.




Installation de Ruby on Rails pour Windows

Les utilisateurs de Windows et OSX ont tous les deux beaucoup de chance. Les deux systèmes d'exploitation disposent d'un programme d'installation / gestionnaire tout-en-un qui installe ruby, rails et le serveur. Pour Windows, vous avez l'option Instant Rails. Allez sur http://instantrails.rubyforge.org/wiki/wiki.pl pour le télécharger. Personnellement, je l'ai utilisé et je n'ai eu aucun problème majeur avec lui. Faites-moi confiance, c'est beaucoup plus facile à faire, alors installez tout séparément.

Cliquez sur télécharger pour obtenir des courses instantanées.

Lorsque vous cliquez sur Télécharger, vous serez redirigé vers rubyforge.org. Là, vous pouvez choisir la dernière version. Au moment d'écrire ces lignes, 2.0 était le dernier. De plus, à l'heure où nous écrivons ces lignes, de nombreux hôtes populaires prenant en charge ruby ​​ne prennent en charge que la version 1.8.x. Il existe des différences considérables entre les versions 1 et 2. Il vous appartient donc de choisir la version que vous souhaitez installer. Dans ce tutoriel, je téléchargerai la version 2.0.

Maintenant qu'il est téléchargé, extrayez-le dans un répertoire qui ne contient pas d'espaces.

Installation de Ruby on Rails pour d'autres systèmes d'exploitation

OSX a également la chance d’avoir une locomotive Ruby on Rails, gestionnaire. Pour OSX et d’autres systèmes d’exploitation, vous pouvez trouver une très bonne ressource sur le wiki de Ruby on Rail..

Commencer avec le cadre

À partir de maintenant, je vais utiliser Instant Rails. Ce n'est pas très différent d'une autre configuration, donc si vous utilisez une autre technique, vous devriez pouvoir suivre facilement. Si vous rencontrez des problèmes, assurez-vous de me le faire savoir dans les commentaires et / ou consultez les ressources..

Alors maintenant que vous avez tous les fichiers nécessaires en place pour votre configuration. Commencez! Pour Windows, accédez au répertoire dans lequel vous avez mis Instant Rails et exécutez InstantRails.exe. Vous obtiendrez probablement ce message, mais pour votre répertoire, vous pouvez appuyer sur «oui» pour:

Maintenant que Instant Rails est en cours d'exécution, vous pouvez faire plusieurs choses. Pour le moment, il vous suffit de pouvoir:

- Ouvrir une fenêtre de console

-Créer un nouveau projet.

- Démarrer le serveur pour un projet en cours

Nous allons passer en revue chaque action séparément.

Ouvrir une fenêtre de console

1) Cliquez sur l'icône en haut à gauche:

2) Allez dans "Applications Rails"> "Ouvrir la fenêtre de la console Ruby".

3) Nous avons maintenant une fenêtre de console ouverte. Ici, vous pouvez faire beaucoup de choses en ruby, comme générer de nouveaux projets, des contrôleurs et d’autres tâches que nous couvrirons plus tard. Nous allons maintenant utiliser cette fenêtre de console pour créer une nouvelle application..

Créer une nouvelle application

1) Nous allons maintenant taper "rails nettuts", où nettuts est le nom de votre application. Choisissez le nom avec soin, car vous l'utiliserez pour le reste de l'application. Puisque nous ne faisons rien de particulier pour le moment, nous allons simplement choisir nettuts comme nom:

2) Il va maintenant générer tous les fichiers nécessaires pour l'application. Ce sont les fichiers que le framework utilise et dont il a besoin. Cela aidera à fournir le CoC (Conventions sur la configuration).

3) Nous avons maintenant une application Ruby on Rails générée!

Lancer une application

1) Pour exécuter notre application, nous devons accéder à Instant Rails et cliquer à nouveau sur l'icône:

2) Ensuite, nous irons dans "Applications Rails"> "Gérer les applications Rails ..."

2) Vous pouvez déjà voir que Instant Rails est déjà livré avec deux projets. Le livre de cuisine est une jolie démonstration de ce que vous pouvez faire facilement avec Rails. Je vous encourage fortement à le vérifier. Et après que vous en ayez appris un peu plus sur Rails, consultez le code source. Vous serez surpris de la simplicité! Quoi qu'il en soit, cochez la case à côté de nettuts, et cliquez sur "Démarrer avec Mongrel". Votre pare-feu peut faire l’objet d’une objection mais l’autoriser. Une fenêtre de console devrait s’afficher avec le numéro de port et d’autres informations utiles:

Donc, dans mon cas (et probablement aussi dans le vôtre), nous pouvons afficher notre application sur le port 3000. Il suffit donc de naviguer jusqu'à 127.0.0.1:3000, et vous devriez obtenir cette page Rails par défaut (plus la barre latérale à droite):

Nous pouvons maintenant commencer à construire notre application!

Comment fonctionne le cadre

Architecture MVC

Rails fonctionne à partir de MVC Architecture. Fondamentalement, cela signifie que nous divisons notre code en trois sections; le modèle, la vue et le contrôleur. Si vous souhaitez en savoir plus sur MVC Architecture, visitez le didacticiel d’introduction à Nettuts MVC. Dans cette introduction à Ruby on Rails, nous ne couvrirons que les bases du contrôleur:

Le controlle

Le contrôleur sera le chemin après l'URL principale. Par exemple, si nous avons un contrôleur nommé "learn", cela représenterait yoursite.com/learn ou localement 127.0.0.1:3000/learn . Chaque contrôleur repose sur de nombreux fichiers spécifiques. Par conséquent, pour créer un contrôleur, vous devez le générer via la console. Nous allons maintenant créer un nouveau contrôleur, découvrez:

1) Premièrement, nous ouvrons une fenêtre de console via Instant Rails, ou quelle que soit la configuration que vous utilisez.

2) Ensuite, nous naviguons vers l'application actuelle. Comme nous sommes actuellement à un niveau supérieur à celui de notre application, nous tapons "cd nettuts" (changer de répertoire en nettuts).

3) Maintenant que nous sommes dans l'application, nous devons accéder à un script qui générera le contrôleur. Si vous examinez la structure de fichier de l'application, vous remarquerez qu'il existe un dossier de script. Et à l'intérieur du dossier de script, il y a un fichier de génération. Nous devons cibler cela et l'exécuter.

4) Nous allons le cibler via la console. Notez les autres scripts aussi, ils ont tous leur but. Quoi qu’il en soit, dans Windows, tapez "ruby script / generate controller learn" pour générer un contrôleur appelé learn. Si je me souviens bien, vous n'avez pas besoin du ruby ​​dans d'autres systèmes d'exploitation. La console va maintenant générer des fichiers. Consultez-les dans une fenêtre d'exploration si vous le souhaitez. Les deux fichiers les plus importants ici sont ceux du contrôleur learn, qui n’était qu’un des nombreux fichiers créés; mais notez également qu’une vue appelée learn a également été créée. Voici les défauts par défaut que les rails viennent avec pour limiter la quantité de travail nécessaire.

Alors, comment fonctionne un contrôleur?

Eh bien, allons-y étape par étape.

-L'utilisateur demande yoursite.com/learn

-Rails cherche automatiquement dans le répertoire des serveurs app / learn_controller

-Rails recherche dans le fichier .rb la définition d'un fichier d'index

-Rails fait ce que la définition lui dit de faire et finalement crée ou redirige vers une vue.

-Cette vue (apprendre) est ensuite renvoyée à l'utilisateur.

Ne vous inquiétez pas si cela n'a pas vraiment de sens. Ensuite, nous allons approfondir les contrôleurs. Pour l'instant, il suffit de savoir comment créer un contrôleur, et qu'ils existent.

Ressources

  • Lynda.com: Formation essentielle à Ruby on Rails

    Ruby on Rails vise à simplifier la création d'applications Web. Dans Ruby on Rails Essential Training, Kevin Skoglund, instructeur expérimenté, poursuit le même objectif. Kevin explique le processus complet - de la compréhension des concepts fondamentaux de tout projet Ruby on Rails à la création d'applications complètes et faciles à gérer à l'aide du cadre Ruby on Rails..

    Visitez l'article

  • Série Ruby on Rails du didacticiel

    Ceci est une série incroyable de tutoriel Ruby on Rails, qui couvre beaucoup de choses, mais il est parfois difficile à suivre.

    Visitez l'article

  • Rubis sur rails

    Ceci est le site officiel de Rail. Si vous voulez vous enthousiasmer pour Rails, allez ici! Ici, vous pouvez télécharger la dernière version, obtenir les dernières nouvelles et trouver d’autres ressources pour apprendre Rails..

    Visitez l'article

  • Wiki Rails

    C'est une autre grande ressource. Une fois que vous devenez le prochain ninja Rails, vous pourriez même être obligé de modifier certaines informations ici.!

    Visitez l'article

Assurez-vous de consulter le plus grand nombre de ces ressources avant le prochain tutoriel..

La semaine prochaine et les derniers mots

J'espère que vous avez pu survivre grâce à toutes ces informations. Croyez-moi, vous serez content de l'avoir fait. Assurez-vous de bien comprendre ce didacticiel. Au fur et à mesure de vos réponses, vous obtiendrez une réponse à la plupart de vos questions et vous vous sentirez plus "éclairé" sur Rails. Et je vous promets que la semaine prochaine sera plus amusante! La semaine prochaine, nous couvrirons un peu plus le cadre, et commencerons à entrer dans la syntaxe ruby, et un peu plus de ce que vous pouvez faire avec les rails. Si ce tutoriel vous a aidé, s'il vous plaît Digg il!

  • Abonnez-vous au flux RSS NETTUTS pour plus de commentaires et d'articles sur le développement Web au quotidien.