Bienvenue dans Ruby on Rails à partir de la deuxième semaine. Nous espérons que cette suite de la première semaine vous aidera à poursuivre vos études dans Rails. Cette semaine, nous en ferons un peu plus avec la mise en place d’une page. Nous travaillerons également à ajouter plus d'interactivité en incorporant Ruby dans HTML et en apprenant un peu plus sur les variables. Après cela, nous en apprendrons davantage sur la belle structure d'URL de Ruby et sur la façon de la manipuler, ainsi que sur d'autres choses. Cela va certainement être une semaine bien remplie!
La semaine dernière, nous avons mis en place le cadre et appris un peu plus sur le ruby et les rails. Nous avons ensuite appris comment créer une nouvelle application et générer un contrôleur..
Maintenant que nous allons entrer dans la syntaxe de Rails, nous avons besoin d’un bon éditeur. Comme rails est un framework relativement nouveau, il n’a pas tout à fait la gamme d’éditeurs supportés par la syntaxe. Heureusement, il en existe encore d’excellents. Pour les fenêtres, j'utilise personnellement E Texteditor. Il supporte parfaitement Ruby et propose des scripts automatisés pour de nombreuses langues. L’éditeur de texte électronique est le fruit du succès du programme mac exclusif TextMate. Le seul inconvénient des deux, c'est qu'ils ne sont pas gratuits. Si vous cherchez quelque chose de gratuit, vous pouvez toujours utiliser le bloc-notes fiable. ++.
Comme vous vous en souviendrez peut-être la semaine dernière, nous avons fini par créer un contrôleur appelé apprendre. Cela nous mènera au tutoriel d'aujourd'hui. Nous allons maintenant utiliser ce contrôleur et créer une action dans le contrôleur. Nous allons ensuite créer également un fichier de vue correspondant. La vue est le composant de l'architecture MVC qui contient généralement tout le code HTML. fichier ruby intégré (rhtml).
Maintenant que le contrôleur d’apprentissage est généré, nous pouvons afficher le fichier rb en allant à app / controllers / learn_controller.rb. Pour le moment, vous devriez déjà voir le code suivant:
Ce code par défaut permet à ce contrôleur d’hériter des contrôles d’application par défaut..
Nous devons maintenant définir une méthode, en particulier une action. Cette action va cartographier l'URL de la vue. Pour définir une action nommée plus, nous tapons le code suivant:
Nous pouvons choisir n'importe quel nom que nous voulons. Une bonne stratégie pour choisir le nom de l'action consiste à lui attribuer un nom en rapport avec le contenu qui y figurera. Vous devez également choisir le nom en fonction de l'URL souhaitée. Le contrôleur et l'action mappent l'URL. Par exemple, pour accéder à la page "plus", vous devez taper: localhost: 3000 / learn / more. En fait, essayons et voyons ce qui se passe:
Oups… comme vous pouvez le constater grâce au message d'erreur utile, nous devons encore créer une vue..
Contrairement au contrôleur, pour créer une vue, nous n'avons pas besoin de la générer via la console. Au lieu de cela, nous pouvons simplement créer un nouveau fichier. Lorsque nous avons généré le contrôleur, vous avez peut-être vu qu’un répertoire (appelé learn) avait été créé dans le dossier app / view. Nous devons créer un fichier .rhtml à l'intérieur et l'appeler l'action que nous avons définie dans le contrôleur..
Une image vaut mille mots, alors voilà:
Et maintenant, juste pour tester la page, nous allons ajouter un peu de HTML et voir ce qui se passe. Je viens d'ajouter un code HTML requis de base, puis du texte et un titre factices. Vous pouvez mettre tout ce que vous voulez ici.
Enregistrez-le et laissez-le tester à nouveau.
Super ça marche! Félicitations, vous avez créé votre première page dans Rails. Bien que ce soit peu, vous comprenez maintenant comment créer une application de rails de base..
Ruby on Rails a quelques paradigmes qu’il suit. Par exemple, lorsque vous générez une application dans des rails, lorsque vous générez un contrôleur, vous le mettez en majuscule et le singularisez. Bien que nous n’ayons pas capitalisé le contrôleur actuel avec lequel nous travaillons, c’est une bonne habitude à prendre lorsque vous construisez de véritables applications. Je me souviens que lorsque j'apprenais Rails pour la première fois, cela me frustrait que tous les tutoriels que j'ai lus mentionnent un paradigme ici et là, mais ne les aient jamais tous répertoriés au même endroit. Je ne veux pas faire la même chose pour vous! Mais, si je les expliquais tous maintenant, cela ne rentrerait pas aussi bien, comme si vous en saviez plus sur chaque composant. Alors ne vous inquiétez pas trop à ce sujet maintenant, et je l'expliquerai plus tard dans cette série.
La revue
La semaine dernière, nous avons appris à incorporer du code de rails dans un fichier rhtml. Si vous vous en souvenez, un <% -%> est un code traité, mais n'inclut rien qui soit réellement transmis à l'utilisateur. D'autre part, <%= %> le code sera sorti.
Temps de maths
Vous pouvez faire des maths facilement avec Ruby. Pour cet exemple, j'ai créé une nouvelle action dans le contrôleur d'apprentissage appelée math. Nous allons faire quelques calculs simples qui seront intégrés aux balises ci-dessus. Voici ce que nous allons taper:
Démo mathématique Sera-t-il sortie 4 +5, ou 9?
Comme vous pouvez le constater, le calcul a été fait pour nous:
Concaténation de cordes
Vous pouvez créer une chaîne en ruby en utilisant des guillemets. Vous pouvez même combiner des chaînes en les concaténant. Il y a plusieurs moyens de le faire. Le plus logique, c'est de le traiter comme des maths:
Démo de cordes <%= 'This is kind of boring' %>
<%= 'Will I combine' + 'With You?' %>
Lorsque nous publions ceci, nous montrons à quel point le rubis est exact. Notez qu'il n'y a pas d'espace entre combiner et avec. Pour ajouter un espace, ajoutez-en un avant la citation à la fin de la moissonneuse ou avant avec.
Ils sont tous deux très importants. Je le répète, vous comprenez donc clairement leur objectif. Le signe égal détermine si l'utilisateur le voit ou non. Si nous revoyions ce dernier morceau de code et éliminions le signe égal des deux extraits, nous n'aurions qu'une page vierge. Maintenant, si vous affectez une variable ou quelque chose qui ne génère pas physiquement quoi que ce soit, alors ne mettez pas le signe =,
Le signe - n'est pas nécessaire, mais une bonne habitude à prendre. Si vous n'utilisez pas le signe =, mettez un signe - lorsque vous fermez le rubis incorporé. Ceci élimine l'espace blanc qui serait autrement inséré dans le code. Cela peut, dans de très rares cas, gâcher le projet.
Nous ne pouvons pas aller plus loin sans discuter des variables. Pour ceux qui n'ont aucune expérience de Javascript, ou de tout langage côté serveur, vous pourriez ne pas savoir ce qu'est exactement une variable. Pensez à une variable comme à quelque chose qui stocke un peu d’information. Vous pouvez ensuite analyser ces données et les manipuler en les appelant par leur nom..
Assigner une variable locale et l'afficher
Assigner un variable locale c'est assez facile. Voici comment vous l'attribuer et l'afficher ensuite. Vous pouvez le faire en une seule ligne, mais je montre la différence entre un rubis traité incorporé et un rubis incorporé et montré (le signe égal à nouveau :)):
Démo Variable <% text = 'This is a Variable' -%> <%= text %>
Et ici vous pouvez voir le résultat:
Assigner une variable d'instance et l'afficher
Le problème avec les variables locales, cependant, est qu’elles sont… locales. Que faire si nous devons affecter une variable dans le contrôleur et l'afficher dans la vue? C'est là que variables d'instance entrent en jeu. Une variable d’instance est séparée d’une variable locale par le signe @ placé avant le nom. Veuillez noter que les variables d'instance et les variables locales (ainsi que la plupart des autres types) ne peuvent pas avoir de lettres majuscules ni d'espaces..
Pour montrer comment nous pouvons transmettre du contenu dynamique entre le contrôleur et la vue, nous devons d’abord insérer du code dans le contrôleur learn. A présent, j'ai ajouté plus de définitions pour toutes les démos ci-dessus. Voici le contrôleur d'apprentissage actuel. Comme vous pouvez le constater, j'ai affecté une variable d'instance dans l'action Variables. Lorsque l'utilisateur demande cette action, Rails recherche la définition, la traite et l'envoie à la vue (dans ce cas, la valeur de la variable):
classe LearnController < ApplicationController def more end def math end def strings end def variables @text = 'Why Hello' end end
Nous allons maintenant référencer la variable dans la vue:
Démo Variable <%= @text %>
Effectivement, la variable est passée à la vue.
Cette semaine, nous avons appris comment configurer des actions dans les contrôleurs, définir des vues, des variables locales et instantanées. J'espère que vous avez trouvé tout cela utile! La semaine prochaine, ce sera encore plus excitant. Je prévois de terminer les bases de l'interaction du contrôleur et de la vue. J'espère que nous aurons aussi le temps d'apprendre plus de techniques de rails! Après cela, ça devient plus excitant! (Syntaxe Ruby, travail avec des bases de données, des échafaudages, etc.). Quoi qu'il en soit, si vous avez des questions, assurez-vous de me le faire savoir; et je serai sûr de revenir à vous!
Comme toujours, veuillez s'il vous plaît Digg si cela vous a aidé!