7 Stimmen

Rails-Anwendungsvorlagen

Ich fange an, Ruby on Rails zu lernen. Ich habe eine Anwendung im Sinn, die ich gerne erstellen würde, aber ich weiß, dass ich viele Dinge wiederholen muss, die schon millionenfach gemacht wurden (z. B. Benutzerauthentifizierung usw.).

Ich habe gerade herausgefunden, über Schienen Vorlagen. Soweit ich weiß, kann man eine dieser Vorlagen verwenden, um eine neue Rails-Anwendung zu erstellen und einen Großteil der Grundlagen einzurichten. Wo kann ich einige der beliebtesten Vorlagen finden und sollte ich eine davon verwenden?

7voto

Aditya Sanghi Punkte 13242

Andrew, wenn du anfängst, RubyOnRails zu lernen und eine Anwendung im Sinn hast, schlage ich vor, dass du KEINE Vorlagen verwendest und alles von Hand machst.

Rails-Templates ziehen in erster Linie Gems und andere externe Abhängigkeiten (Plugins) in Ihre Anwendung ein. Der primäre Vorteil von Templates ist für Leute, die so viele Rails-Apps so oft bauen, dass sie wirklich schnell bootstrapped werden möchten.

Sie würden mehr lernen und sich viel sicherer fühlen, wenn Sie sich bewusst für die Plugins/Gemeinschaften entscheiden würden, die Sie benötigen, und diese nach und nach in Ihre Anwendung einbauen würden.

Devise (beliebtes Authentifizierungs-Gem) geht so weit zu sagen, dass Sie es NICHT verwenden sollten, wenn Sie mit einer Rails-App beginnen.

2voto

Daniel Kehoe Punkte 10872

Hier ist eine aktuellere Antwort, die sich auf Rails 3 bezieht (die anderen Antworten sind alle vom Januar 2010).

Nachdem ich einige Monate lang mit der Bearbeitung von Bewerbungsvorlagen herumgespielt habe, habe ich festgestellt, dass die Zusammenstellung und Pflege einer Bewerbungsvorlage Kopfschmerzen bereiten kann. Es ist hilfreich, eine Sammlung von "Rezepten" zu haben, die einzeln gepflegt und dann zu einer Anwendungsvorlage zusammengestellt werden können.

Ich benutze die

rails3_devise_wizard

das ist eine Version des RailsWizard-Gems mit benutzerdefinierten Rezepten für eine Devise-Starter-App.

Ich habe damit zwei Bewerbungsvorlagen erstellt:

Rails 3 + Devise + RSpec + Cucumber Anwendungsvorlage

Rails 3 + Devise + RSpec + Cucumber + Mongoid Anwendungsvorlage

die die folgenden Beispielanwendungen erzeugen

Rails 3 + Devise + RSpec + Cucumber Beispielanwendung

Rails 3 + Devise + RSpec + Cucumber + Mongoid Beispielanwendung

und jede hat detaillierte Anleitungen, die zeigen, wie sie aufgebaut sind:

Rails 3 + Devise + RSpec + Cucumber Tutorial

Rails 3 + Devise + RSpec + Cucumber + Mongoid Tutorial

1voto

Ben Punkte 6629

Jeremy McAnally unterhält hier eine vielfältige Sammlung: http://github.com/jm/rails-templates/

Ich glaube nicht, dass es irgendwelche Patentrezepte gibt, aber sie zeigen eine Menge Techniken, die Vorlagen ermöglichen.

1voto

Jeff Perrin Punkte 7974

Auch Rails Kits können Ihren Bedürfnissen entsprechen, auch wenn es sich nicht um Templates handelt:

http://railskits.com/available-kits/

1voto

btelles Punkte 5335

Es gibt mehrere Möglichkeiten, eine Rails-Anwendung zu erweitern und/oder eine neue zu starten. Sie haben nur eine der vier großen Möglichkeiten erwähnt. Die anderen sind:

  • Plugins
  • Motoren
  • Edelsteine
  • Schablonen

Vorlagen werden in der Regel für den Start einer Anwendung verwendet, aber wenn sie richtig gestaltet sind, können Sie sie auch zur Erweiterung einer Anwendung nutzen. Viele Standardvorlagen helfen beispielsweise dabei, ein Code-Repository einzurichten, ein paar Plugins zu installieren und vielleicht das Layout ein wenig zu überarbeiten, damit Sie es nicht tun müssen. Natürlich werden Sie das meiste davon tun, wenn Sie ein Projekt zum ersten Mal starten. In unserer Firma (3 Entwickler) habe ich eine Vorlage erstellt, die unsere Entwicklungs- und Produktionsumgebungen, Repositories und Projektverfolgung einrichtet. Hier ist meine Lieblingsvorlage: http://github.com/lhoeg/app_lego/network (Das Original wurde schon lange nicht mehr überarbeitet, und ich glaube, dass dies die beste Gabel ist, die es derzeit gibt)

Plugins und Gems sind mehr oder weniger zu Synonymen geworden und es gibt kaum noch einen Grund für Leute, Plugins zu erstellen, da Gems eher der Ruby-Standard sind, um Funktionalität zu verpacken. Im Allgemeinen verwendet man Plugins, um seiner Anwendung einige sehr spezifische Funktionen hinzuzufügen. Das kann von der Benutzerauthentifizierung über Kalenderfunktionen bis hin zum Hinzufügen von Standorten und Kartenmaterial reichen. Die meisten Plugins, die ich verwendet habe, erweitern den ActiveRecord- oder Datenbankteil der Anwendung. Wenn das Plugin mit Views, Controllern kommt oder Ihre Datenbanktabellen modifiziert, wird es normalerweise mit einem Generator geliefert. Ein gutes Beispiel ist der Generator des Restful Authentication-Plugins. Eine relativ gute Liste von http://agilewebdevelopment.com/

Motoren sind die Könige der Modularität. Sie bieten normalerweise viel mehr Funktionalität als Plugins. Während Plugins und Gems im Allgemeinen Rails selbst erweitern, zielen Engines darauf ab, IHRE Anwendung zu erweitern, indem sie einen vollständigen Satz von Ansichten, Controllern und Modellen hinzufügen. Engines sind also ganze Rails-Anwendungen, die in einer kleinen Schachtel verpackt sind, die Sie einfach in Ihre Anwendung einbauen können und sofort eine Reihe von Funktionen hinzufügen können. Es gibt auch ein Engines-Verzeichnis unter http://agilewebdevelopment.com/ aber wie Sie sehen werden, sind es nicht sehr viele.

Ich hoffe, das hilft!

Berns

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X