Lernen Sie Ruby on Rails von Grund auf Woche 2

Willkommen bei Ruby on Rails von der zweiten Woche. Hoffentlich hilft diese Fortsetzung der ersten Woche dabei, Ihre Ausbildung in Rails zu verbessern. Diese Woche werden wir etwas mehr tun, indem wir eine aktuelle Seite zum Laufen bringen. Wir arbeiten auch daran, mehr Interaktivität hinzuzufügen, indem wir Ruby in HTML einbetten und ein wenig über Variablen lernen. Danach erfahren Sie mehr über Rubys schöne URL-Struktur und deren Manipulation sowie über andere Dinge. Dies wird definitiv eine vollgepackte Woche sein!

Letzte Woche…

Letzte Woche haben wir den Rahmen eingerichtet und etwas mehr über Ruby und Rails gelernt. Wir haben dann gelernt, wie Sie eine neue Anwendung erstellen und einen Controller generieren.

Ruby-Editoren

Nun, da wir uns mit der Rails-Syntax beschäftigen werden, brauchen wir einen guten Editor. Da rail ein relativ neues Framework ist, verfügt es nicht über eine Reihe von Syntax-unterstützten Editoren. Glücklicherweise gibt es immer noch sehr gute. Für Fenster verwende ich persönlich E Texteditor. Es unterstützt Ruby hervorragend und bietet automatisierte Skripts für viele Sprachen. Ein Texteditor hat sich vom Erfolg des exklusiven Mac-Programms TextMate abgezweigt. Der einzige Nachteil beider ist, dass sie nicht frei sind. Wenn Sie nach etwas kostenlosem suchen, können Sie immer den zuverlässigen Notizblock verwenden ++.

Dinge sichtbar machen

Eine Aktion erstellen

Wie Sie sich vielleicht von letzter Woche erinnern, haben wir mit der Erstellung eines Controllers begonnen, den wir angerufen haben lernen. Dies wird uns in das heutige Tutorial führen. Wir verwenden jetzt diesen Controller und erstellen eine Aktion im Controller. Wir erstellen dann auch eine entsprechende Ansichtsdatei. Die Ansicht ist die Komponente der MVC-Architektur, die normalerweise den gesamten HTML-Code enthält und daher eine eingebettete Ruby-Datei (rhtml).

Nachdem wir nun den Lerncontroller erstellt haben, können Sie die rb-Datei anzeigen, indem Sie zu gehen app / controller / learn_controller.rb. Im Moment sollte der folgende Code bereits dort angezeigt werden:

Dieser Standardcode ermöglicht es diesem Controller, die Standardanwendungssteuerelemente zu erben.

Wir müssen jetzt eine Methode definieren, insbesondere eine Aktion. Durch diese Aktion wird die URL für die Ansicht festgelegt. So definieren Sie eine Aktion mit dem Namen Mehr, Wir geben den folgenden Code ein:

Wir können jeden beliebigen Namen auswählen. Eine gute Strategie bei der Auswahl des Aktionsnamens ist es, ihm einen Namen zu geben, der sich auf den Inhalt bezieht, der dort sein wird. Sie sollten auch den Namen entsprechend der gewünschten URL auswählen. Der Controller und die Aktion legen die URL fest. Um beispielsweise zur Seite "Mehr" zu gelangen, geben Sie localhost ein: 3000 / learn / more. Lass es uns versuchen und sehen, was passiert:

Hoppla… wie Sie der hilfreichen Fehlermeldung entnehmen können, müssen wir noch eine Ansicht erstellen.

Ansicht erstellen

Im Gegensatz zum Controller müssen Sie zum Erstellen einer Ansicht diese nicht über die Konsole erstellen. Stattdessen können wir einfach eine neue Datei erstellen. Als wir den Controller erstellt haben, haben Sie möglicherweise festgestellt, dass im Ordner app / view ein Verzeichnis (namens learn) erstellt wurde. Dort müssen wir eine .rhtml-Datei erstellen und die Aktion nennen, die wir im Controller definiert haben.

Ein Bild sagt mehr als tausend Worte, also los geht's:

Und jetzt, nur um die Seite zu testen, fügen wir ein wenig HTML hinzu und sehen, was passiert. Ich habe nur ein grundlegendes erforderliches HTML und dann einen Dummy-Text und einen Titel hinzugefügt. Sie können hier alles einfügen, was Sie möchten.

Speichern Sie es und lassen Sie es erneut testen.

Schön, dass es funktioniert! Glückwunsch, Sie haben Ihre erste Seite in Rails erstellt. Obwohl es jetzt nicht viel ist, haben Sie jetzt ein grundlegendes Verständnis dafür, wie Sie eine grundlegende Schienenanwendung erstellen.

Eine Notiz

Ruby on Rails hat einige Paradigmen, denen es folgt. Wenn Sie z. B. eine Anwendung in Gleise erstellen, generieren Sie beim Generieren eines Controllers normalerweise eine Großschreibung und machen sie einzigartig. Obwohl wir den aktuellen Controller, mit dem wir arbeiten, nicht groß geschrieben haben, ist es eine gute Angewohnheit, beim Erstellen realer Anwendungen darauf einzugehen. Ich erinnere mich, als ich Rails zum ersten Mal lernte. Es hat mich frustriert, dass alle Tutorials, die ich las, hier und dort ein Paradigma erwähnt haben, aber niemals alle an einem Ort aufgeführt haben. Ich möchte nicht dasselbe mit dir machen! Aber wenn ich sie jetzt alle erkläre, würde es nicht so gut funktionieren, als ob Sie mehr über jede Komponente wissen würden. Machen Sie sich jetzt also nicht allzu viele Sorgen und ich erkläre es später in dieser Serie.

Interaktivität hinzufügen

Rezension

Letzte Woche haben wir gelernt, wie man Schienencode in eine rhtml-Datei einbettet. Wenn Sie sich erinnern, a <% -%> ist verarbeiteter Code, enthält jedoch nichts, was tatsächlich an den Benutzer ausgegeben wird. Auf der anderen Seite, <%= %> Code wird ausgegeben.

Mathematische Zeit

Mit Ruby können Sie problemlos rechnen. Für dieses Beispiel habe ich im Lerncontroller eine neue Aktion namens math erstellt. Wir werden einige einfache Berechnungen durchführen, die in die obigen Tags eingebettet werden. Folgendes geben wir ein:


Math Demo Gibt es 4 +5 oder 9 aus?

Wie Sie sehen, hat es für uns die Mathematik berechnet:

String-Verkettung

Sie können einen String in Ruby erstellen, indem Sie Anführungszeichen verwenden. Sie können sogar Strings miteinander kombinieren, indem Sie sie miteinander verketten. Dafür gibt es mehrere Möglichkeiten. Das logischste ist, es wie Mathe zu behandeln:

   String Demo   <%= 'This is kind of boring' %>
<%= 'Will I combine' + 'With You?' %>

Wenn wir dies ausgeben, zeigen wir, wie genau Ruby ist. Beachten Sie, dass zwischen kombinieren und mit kein Leerzeichen steht. Um ein Leerzeichen hinzuzufügen, fügen Sie am Ende des Kombinationsvorgangs oder vor mit einem ein Leerzeichen ein.

Wie wichtig ist das = und - Zeichen?

Sie sind beide sehr wichtig. Ich erwähne das noch einmal, so dass Sie ihren Zweck klar erkennen. Das Gleichheitszeichen bestimmt, ob der Benutzer es sieht oder nicht. Wenn wir das letzte Bit Code erneut aufrufen und das Gleichheitszeichen aus beiden Ausschnitten entfernen, hätten wir nur eine leere Seite. Wenn Sie nun eine Variable oder etwas zuweisen, das physikalisch nichts ausgibt, setzen Sie das = -Zeichen nicht,

Das - Zeichen ist nicht notwendig, aber es ist eine gute Angewohnheit, sich einzulassen. Wenn Sie nicht das = -Zeichen verwenden, setzen Sie ein -, wenn Sie den eingebetteten Ruby schließen. Dadurch wird der Leerraum entfernt, der sonst in den Code eingefügt würde. Dies kann in sehr seltenen Fällen das Projekt stören.

Variablen

Wir können nicht weiter gehen, ohne Variablen zu diskutieren. Für diejenigen, die keine Erfahrung mit Javascript oder einer serverseitigen Sprache haben, wissen Sie möglicherweise nicht, was genau eine Variable ist. Stellen Sie sich eine Variable als etwas vor, das etwas Information speichert. Sie können diese Daten dann analysieren und bearbeiten, indem Sie sie mit ihrem Namen aufrufen.

Lokale Variable zuordnen und anzeigen

Zuweisen einer lokale Variable ist ganz einfach. So würden Sie es zuweisen und dann anzeigen. Sie könnten dies in einer Zeile tun, aber ich zeige den Unterschied zwischen eingebettetem verarbeiteten Rubin und eingebettetem und angezeigtem Rubin (das Gleichheitszeichen wieder :)):

   Variable Demo   <% text = 'This is a Variable' -%> <%= text %>  

Und hier sehen Sie das Ergebnis:

Instanzvariable zuordnen und anzeigen

Das Problem mit lokalen Variablen ist jedoch, dass sie… lokal sind. Was ist, wenn wir eine Variable im Controller zuweisen und in der Ansicht anzeigen müssen? Das ist wo Instanzvariablen come in. Eine Instanzvariable wird von einer lokalen Variablen durch das @ -Zeichen getrennt, das vor dem Namen steht. Bitte beachten Sie, dass sowohl Instanz- als auch lokale Variablen (sowie die meisten anderen Arten) keine Großbuchstaben und keine Leerzeichen enthalten dürfen.

Um zu zeigen, wie wir dynamischen Inhalt zwischen Controller und View übergeben können, müssen Sie zunächst Code in den Lerncontroller einfügen. Inzwischen habe ich weitere Definitionen für alle oben genannten Demos hinzugefügt. Hier ist der aktuelle Lerncontroller. Wie Sie sehen, habe ich in der Variablen-Aktion eine Instanzvariable zugewiesen. Wenn der Benutzer diese Aktion anfordert, sucht Rails die Definition nach, verarbeitet sie und sendet sie an die Ansicht (in diesem Fall der Wert der Variablen):

 Klasse LearnController < ApplicationController def more end def math end def strings end def variables @text = 'Why Hello' end end

Jetzt referenzieren wir die Variable in der Ansicht:

   Variable Demo   <%= @text %>  

Sicher, die Variable wird an die Ansicht übergeben.

Nächste Woche und letzte Worte

Diese Woche haben wir erfahren, wie Sie Aktionen in Controllern einrichten, Ansichten, lokale und Instant-Variablen definieren. Ich hoffe, dass Sie alles hilfreich fanden! Nächste Woche wird es noch spannender. Ich habe vor, die Grundlagen der Interaktion zwischen Controller und View zu beenden. Hoffentlich haben wir auch mehr Zeit, um noch mehr Schienentechniken zu lernen! Danach wird es einfach spannender! (Ruby-Syntax, Arbeiten mit Datenbanken, Scaffoldings usw.). Wenn Sie Fragen haben, lassen Sie es mich wissen. und ich werde sicher auf dich zurückkommen!

Wie immer bitte Digg dies, wenn es Ihnen geholfen hat!

  • Abonnieren Sie den NETTUTS-RSS-Feed für mehr tägliche Webentwicklungsberichte und -artikel.