Ruby on Rails pour les concepteurs

Ruby on Rails est un framework web open source optimisé pour le bonheur des programmeurs et leur productivité durable. Il vous permet d'écrire du code magnifique en privilégiant les conventions à la configuration..

C'est comme ça que Ruby on Rails se promeut - mais selon mes mots, c'est un cadre incroyable qui peut vraiment vous rendre la vie beaucoup plus facile. Vous pouvez en apprendre plus sur leur site http://rubyonrails.org

Étape 1- Installation de Ruby on Rails

L'installation de Ruby on Rails (souvent abrégée en RoR) est relativement simple sur la plupart des systèmes, mais vous devrez être à l'aise pour ouvrir le terminal. La page de téléchargement de Ruby on Rails fournit des liens pour commencer, et je les reproduirai ici pour vous faire gagner un peu de temps. À titre d’information, ce sont les endroits où obtenir Ruby, dans lequel Rails est programmé, et nous installerons Rails dans une minute. Pour en savoir plus sur la langue, consultez le site Ruby.

  • Les fenêtres: One-Click Ruby Installer (Je recommande l’utilisation de la version 1.8.6-26 finale)
  • Mac OS X 10.4: Les navires avec Ruby cassé mais vous pouvez suivre le guide incroyable par Dan Benjamin
  • Mac OS X 10.5: Si vous installez les outils de développement d'Apple, vous serez configuré. Essayez soit vos disques d’installation, soit le site de développement d’Apple et téléchargez Xcode.
  • Linux: Bien que cela puisse varier d’une distribution à l’autre, vous devrez installer ruby, irb, & rdoc.

Maintenant que nous avons téléchargé Ruby, assurez-vous d’avoir RubyGems, un gestionnaire de paquets pour Ruby..

Pour tester si vous avez RubyGems, exécutez la commande suivante dans le terminal:

gem -v

A ce jour, 1.3.2 est la dernière version. Pour mettre à jour si vous ne possédez pas la dernière version, exécutez ce qui suit et, si vous êtes sur un Mac, mettez sudo au premier plan.

gem update --system

Si vous n'utilisez pas RubyGems, procédez comme suit:

  1. Téléchargez la dernière version de RubyGems ici.
  2. Extraire le paquet
  3. Passez dans le répertoire de votre terminal (cd est la commande)
  4. Exécutez ceci dans le terminal: ruby ​​setup.rb (Ajoutez sudo devant la commande pour les utilisateurs de Linux et Mac OS X, vous devrez également continuer de le faire pour toutes les commandes gem install)

Si vous avez un système Linux, vous devriez pouvoir installer RubyGems via votre gestionnaire de paquets, mais je préfère la méthode ci-dessus. Si vous rencontrez d'autres problèmes, consultez la documentation d'installation sur le site RubyGems..

Installation de rails

Maintenant que nous avons la dernière version de RubyGems, installons Rails:

bijou installer des rails

Il faudra quelques minutes pour installer Rails et toutes ses dépendances..

Étape 2 - Création d'une application

Alors maintenant que Ruby, RubyGems et Rails sont installés, créons un projet! Pour créer un nouveau projet, vous utiliserez la commande Rails pour créer de nouveaux projets. Nous allons créer un projet simple nommé "blog". Remarque: Cela créera le dossier de l'application dans le répertoire actuel dans lequel vous vous trouvez dans le terminal. Assurez-vous donc de choisir le répertoire dans lequel vous souhaitez stocker l'application.

rails blog

Vous devriez voir quelque chose comme ceci voler par:

Ensuite, ouvrez le projet dans votre éditeur de texte / IDE favori. Personnellement, j'adore TextMate, qui n'est disponible que sur Mac OS X, mais il existe également d'excellents clones..

Structure des dossiers

La structure de dossiers d'un Ruby on Rails ressemblera à ce qui suit:

Chaque développeur ou concepteur devra travailler quotidiennement dans trois dossiers: les dossiers de l'application, de la configuration et des dossiers publics. Veuillez consulter les brèves explications relatives à chacun des dossiers:

  • app: C'est là que vit la logique de votre application.
    • contrôleurs: C’est là que Rails cherche les classes de contrôleur. En bref, ceux-ci reçoivent les demandes.
    • aides: Les assistants résident dans ce répertoire et assistent les contrôleurs, les modèles et les vues.
    • des modèles: Chacun de ces éléments représente essentiellement une table dans la base de données. Il est donc extrêmement simple de rechercher des informations et de configurer votre application.
    • vues: ce que l'utilisateur voit
      • mises en page: Ce sont chacune des dispositions que vous pouvez définir un contrôleur à utiliser. Facilite la création de modèles.
      • tous les autres: Alors que dans notre application, nous n'en avons actuellement aucun, chacun des autres dossiers qui seront dans ce dossier représente et se rapporte aux contrôleurs, et les fichiers qui y figureront correspondent aux actions du contrôleur.
  • config: Ce dossier contient tous les paramètres de votre application. Quelques fichiers spécifiques:
    • database.yml: Ce fichier contient vos paramètres de base de données
    • environment.rb: Ce fichier contient les paramètres Rails pour votre application.
    • environements /: Ce dossier contient les paramètres de configuration pour chacun des environnements spécifiques: développement, test et production.
    • routes.rb: Ce fichier contient les paramètres du schéma d'URL, ainsi qu'une adresse URL spécifique et l'emplacement d'envoi des demandes.
  • db: Ce dossier finira par contenir votre base de données (si vous utilisez sqllite), votre schéma de base de données et toutes vos migrations de base de données (modifications apportées à la structure).
  • doc: Ce dossier contiendra toute la documentation générée par rake doc: app
  • lib: Les fichiers ici contiennent du code spécifique à l'application qui n'appartient pas à vos contrôleurs..
  • bûche: Rails stocke les journaux ici, quatre d'entre eux. Un pour les éléments spécifiques au serveur dans server.log et un pour chaque environnement.
  • Publique: Ce dossier contient tous les fichiers qui ne changeront pas autant. Rails cherche ses fichiers avant d'essayer d'aller à un contrôleur. Les javascripts sont stockés dans le dossier javascripts, les images dans le dossier images et les feuilles de style dans le dossier des feuilles de style. Les fichiers statiques tels que robots.txt et d'autres fichiers HTML peuvent également être stockés ici. Assurez-vous de supprimer le fichier index.html car il apparaîtra à la place de ce que vous voulez.!
  • scénario: Ces scripts vous rendent la vie beaucoup plus facile. Le script de serveur lance le serveur Web de développement et génère le code.
  • tester: Les tests que vous écrivez et ceux que Rails crée pour vous sont tous stockés ici..
  • tmp: Rails stocke tous les fichiers temporaires ici.
  • vendeur: Ici, vous pouvez installer tous les plugins (ou bibliothèques) Rails créés par des tiers qui ne sont pas livrés par défaut avec la distribution Rails..

Étape 3 - Se salir les mains

Bien que l'objectif de ce tutoriel ne soit pas de créer une application, nous allons quand même faire un peu de programmation. Commençons par créer un contrôleur nommé articles: (Assurez-vous d’avoir changé à la racine de l’application Rails)

script / générer des articles de contrôleur

Ouvrez maintenant le fichier et vous devriez voir ceci:

classe ArticlesController < ApplicationController end 

Tout ce code dit, c'est que nous définissons une nouvelle classe appelée ArticlesController qui hérite d'une autre classe appelée ApplicationController. Maintenant, nous allons créer une action (appelée méthode à proprement parler en Ruby), si vous allez sur http: // localhost: 3000 / articles / vous verrez quelque chose. Changez votre code pour qu'il ressemble à:

classe ArticlesController < ApplicationController def index end end

Alors maintenant que nous avons une action, allez dans le dossier app / views. Nous allons créer une vue afin que lorsqu'un utilisateur demande cette URL, il voit réellement quelque chose. Vous avez peut-être remarqué qu'il existe un nouveau dossier dans les articles nommés; ce dossier a été créé lors de la génération du contrôleur. Créez donc un nouveau fichier dans le dossier articles nommé index.html.erb. Vous pouvez poser des questions sur la fin, le code HTML fait référence au type de fichier et le erb fait référence à Ruby intégré en tant que moteur de modélisation. Personnellement, je préfère rhtml car il s’agit d’une fin simple, mais cela sera amorti dans Rails 3, qui devrait être publié à RailsConf cet été. Mettez ceci dans votre nouveau fichier:

le temps maintenant est <%= Time.now %>

Les balises & lt% =%> peuvent vous intriguer. Cette balise est conçue pour que Ruby transmette les résultats du code Ruby inclus. Donc, ce code imprimera l'heure maintenant. L’autre tag que vous utiliserez dans Rails est tout simplement <%- -%>. Cette balise est destinée au code Ruby qui ne génère rien, comme lors de la répétition d'éléments dans un tableau..

Nous allons maintenant créer une mise en page pour rendre ce texte beau. Créez donc un fichier dans le répertoire views / layouts nommé application.html.erb avec les éléments suivants:

   <%= h(@title) %> <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'prototype' %> <%= yield(:head) %>   
<%- flash.each do |name, msg| -%> <%= content_tag :div, msg, :id => "flash _ # name"%> <%- end -%> <%= yield %>

Premièrement, avant d’expliquer le code, je veux que vous sachiez pourquoi nous avons nommé le fichier application.html.erb. Rails chargera automatiquement cette mise en page à chaque fois, sauf indication contraire. Si vous aviez nommé cette disposition "disposition", vous auriez alors dû ajouter disposition: présentation en haut du contrôleur. Ce bloc de code contient quelques informations importantes que vous voudrez connaître lorsque vous développerez des présentations..

  • <%= stylesheet_link_tag 'application' %>: Cette balise génère la balise d'inclusion CSS du fichier CSS nommé application.css.
  • <%= javascript_include_tag 'prototype' %>: Cette balise génère la balise d'inclusion Javascript de la bibliothèque Prototype javascript. Prototype est la bibliothèque javascript par défaut fournie avec Rails. Vous pouvez également indiquer: valeurs par défaut (pas entre guillemets) au lieu du prototype et Rails chargera toutes les valeurs par défaut, tous chargeront tous les fichiers du dossier public / javascripts.
  • <%- flash.each do |name, msg| -%>: Ce code et le code dans le bloc signifient que pour chaque élément du tableau flash, il affichera un message à l'utilisateur.
  • <%= yield %>: Ceci sort toutes les informations de la vue individuelle, et sort dans le modèle et les envoie à l'utilisateur.

Maintenant, créons un fichier CSS rapide, nommé application.css dans public / stylesheets, et introduisons ce qui suit:

corps couleur de fond: # 111; famille de fontes: Verdana, Helvetica, Arial; taille de police: 14px;  #container width: 75%; marge: 0 auto; couleur de fond: #FFF; rembourrage: 10px; bordure: solide 5px # 999; marge supérieure: 20px; 

Nous avons maintenant une application très simple pour afficher l'heure actuelle; j'espère que vous devriez être plus familiarisé avec les bases de Rails.

Étape 4 - Terminer

Vous pensez peut-être, "C'est cool et tout, mais comment puis-je voir le produit final?" Vous devez exécuter une commande de terminal dans la base de l'application Rails pour démarrer le serveur de développement local. script / serveur va démarrer le serveur, normalement sur le port 3000. Exécutez la commande et pointez votre navigateur sur http://127.0.0.1:3000/articles. Vous devriez voir ce qui suit:

Pour arrêter le serveur, sélectionnez la fenêtre du terminal et Control-C. Cela arrêtera le serveur de développement. Remarque: assurez-vous de ne jamais exécuter un serveur de production de cette manière..

Il y a une dernière chose que j'aimerais vous montrer. Comme je l'ai dit précédemment, le fichier config / routes.rb gère l'emplacement des demandes. Ouvrez le fichier. nous allons faire en sorte que quand vous allez à http://127.0.0.1:3000/, vous voyez la même chose qu'avant. Trouvez la ligne "# Vous pouvez avoir la racine de votre site routée avec map.root - n'oubliez pas de supprimer public / index.html." Sous cette section, ajoutez ce qui suit:

map.root: controller => "articles"

Enregistrez le fichier et assurez-vous de redémarrer le serveur Web. Vous devrez toujours redémarrer le serveur chaque fois que vous créez un nouveau modèle et modifier d'autres fichiers que Rails stocke en mémoire pour accélérer le serveur. Assurez-vous de supprimer public / index.html ou renommez-le simplement. Maintenant, assurez-vous que le serveur est démarré et allez à http://127.0.0.1:3000. Vous devriez voir la même chose.

Conclusion

Alors maintenant, vous devriez être un peu plus familier avec Ruby on Rails. J'ai également créé des liens vers de très bons sites auxquels faire référence lors du développement avec Rails. Amusez-vous à coder avec Rails!

  • Ryan Bates offre une incroyable source de didacticiels vidéo, et vous pouvez toujours vous attendre à quelque chose de grand..
  • L'API Rails est un excellent moyen de trouver plus d'informations sur un sujet dont vous n'êtes peut-être pas tout à fait sûr..

Suivez-nous sur Twitter pour plus d'articles et d'articles sur le développement Web au quotidien.