Suche…


Bemerkungen

Logo

Ruby on Rails (RoR) oder Rails ist ein beliebtes Open-Source-Framework für Webanwendungen. Rails verwendet Ruby, HTML, CSS und JavaScript, um eine Webanwendung zu erstellen, die auf einem Webserver ausgeführt wird. Rails verwendet das Model-View-Controller-Muster (MVC) und bietet eine Fülle von Bibliotheken von der Datenbank bis zur Ansicht.

Versionen

Ausführung Veröffentlichungsdatum
5.1.2 2017-06-26
5,0 2016-06-30
4.2 2014-12-19
4.1 2014-04-08
4,0 2013-06-25
3.2 2012-01-20
3.1 2011-08-31
3,0 2010-08-29
2.3 2009-03-16
2,0 2007-12-07
1.2 2007-01-19
1.1 2006-03-28
1,0 2005-12-13

Erstellen einer Ruby on Rails-Anwendung

In diesem Beispiel wird davon ausgegangen, dass Ruby und Ruby on Rails bereits ordnungsgemäß installiert wurden. Wenn nicht, können Sie hier nachlesen, wie es geht .

Öffnen Sie eine Befehlszeile oder ein Terminal. Um eine neue Schienenanwendung zu generieren, verwenden Sie den neuen Befehl schienen gefolgt vom Namen Ihrer Anwendung:

$ rails new my_app

Wenn Sie Ihre Rails-Anwendung mit einer bestimmten Rails-Version erstellen möchten, können Sie diese zum Zeitpunkt der Erstellung der Anwendung angeben. Verwenden Sie dazu rails _version_ new gefolgt vom Namen der Anwendung:

$ rails _4.2.0_ new my_app 

Dadurch wird eine Rails-Anwendung namens MyApp in einem my_app Verzeichnis erstellt und die my_app Abhängigkeiten, die bereits in Gemfile mithilfe der Gemfile bundle install .

Um zum Verzeichnis Ihrer neu erstellten App zu wechseln, verwenden Sie den Befehl cd ( change directory .

$ cd my_app

Das Verzeichnis my_app enthält eine Reihe automatisch generierter Dateien und Ordner, aus denen sich die Struktur einer Rails-Anwendung zusammensetzt. Es folgt eine Liste der Dateien und Ordner, die standardmäßig erstellt werden:

Aktenordner Zweck
App / Enthält die Controller, Modelle, Ansichten, Helfer, Mailer und Assets für Ihre Anwendung.
Behälter/ Enthält das Rails-Skript, das Ihre App startet, und kann andere Skripts enthalten, die Sie zum Einrichten, Aktualisieren, Bereitstellen oder Ausführen Ihrer Anwendung verwenden.
config / Konfigurieren Sie die Routen, die Datenbank usw. Ihrer Anwendung.
config.ru Rack-Konfiguration für Rack-basierte Server, die zum Starten der Anwendung verwendet werden.
db / Enthält Ihr aktuelles Datenbankschema sowie die Datenbankmigrationen.
Gemfile Gemfile.lock Mit diesen Dateien können Sie angeben, welche Edelsteinabhängigkeiten für Ihre Rails-Anwendung erforderlich sind. Diese Dateien werden vom Bundler-Gem verwendet.
lib / Erweiterte Module für Ihre Anwendung.
Log/ Anwendungsprotokolldateien.
Öffentlichkeit/ Der einzige Ordner, der von der Welt so gesehen wird. Enthält statische Dateien und kompilierte Assets.
Rakefile Diese Datei sucht und lädt Aufgaben, die von der Befehlszeile aus ausgeführt werden können. Die Aufgabendefinitionen werden in allen Komponenten von Rails definiert.
README.md Dies ist eine kurze Anleitung für Ihre Anwendung. Sie sollten diese Datei bearbeiten, um anderen Benutzern mitzuteilen, was Ihre Anwendung tut, wie sie eingerichtet werden soll
Prüfung/ Komponententests, Vorrichtungen und andere Testgeräte.
Temp / Temporäre Dateien (wie Cache- und PID-Dateien).
Verkäufer/ Ein Ort für den Code von Drittanbietern. In einer typischen Rails-Anwendung gehören dazu auch Edelsteine.

Jetzt müssen Sie eine Datenbank aus Ihrer database.yml Datei erstellen:

5,0
rake db:create
# OR
rails db:create
5,0
rake db:create

Nachdem wir die Datenbank erstellt haben, müssen wir Migrationen ausführen, um die Tabellen einzurichten:

5,0
rake db:migrate
# OR
rails db:migrate
5,0
rake db:migrate

Um die Anwendung zu starten, müssen wir den Server hochfahren:

$ rails server
# OR
$ rails s

Rails startet die Anwendung standardmäßig an Port 3000. Um die Anwendung mit einer anderen Portnummer zu starten, müssen wir den Server hochfahren, z.

$ rails s -p 3010

Wenn Sie in Ihrem Browser zu http: // localhost: 3000 navigieren, wird eine Willkommensseite von Rails angezeigt, auf der angezeigt wird, dass Ihre Anwendung jetzt ausgeführt wird.

Wenn ein Fehler ausgegeben wird, können mehrere Probleme auftreten:

  • Es gibt ein Problem mit der config/database.yml
  • Sie haben Abhängigkeiten in Ihrer Gemfile , die nicht installiert wurden.
  • Sie haben ausstehende Migrationen. rails db:migrate
  • Falls Sie zu den vorherigen Migrationsschienen wechseln, rails db:rollback

Wenn das immer noch einen Fehler ausgibt, sollten Sie Ihre config/database.yml überprüfen

Erstellen Sie eine neue Rails-App mit Ihrer Datenbankauswahl und dem RSpec Testing Tool

Rails verwendet sqlite3 als Standarddatenbank. Sie können jedoch eine neue Rails-Anwendung mit einer Datenbank Ihrer Wahl erstellen. Fügen Sie einfach die Option -d gefolgt vom Namen der Datenbank.

$ rails new MyApp -T -d postgresql

Dies ist eine (nicht erschöpfende) Liste der verfügbaren Datenbankoptionen:

  • Mysql
  • Orakel
  • postgresql
  • sqlite3
  • Frontbase
  • ibm_db
  • SQL Server
  • jdbcmysql
  • jdbcsqlite3
  • jdbcpostgresql
  • JDBC

Der Befehl -T zeigt an, dass die Installation von Minitest übersprungen wird. Um eine alternative Testsuite wie RSpec zu installieren, bearbeiten Sie die Gemfile und fügen Sie sie hinzu

group :development, :test do
  gem 'rspec-rails', 
end

Starten Sie dann den folgenden Befehl von der Konsole aus:

rails generate rspec:install

Einen Controller generieren

Um einen Controller zu generieren (z. B. Posts ), navigieren Sie von einer Befehlszeile oder einem Terminal zu Ihrem Projektverzeichnis und führen Sie Folgendes aus:

$ rails generate controller Posts

Sie können diesen Code verkürzen, indem Sie generate durch g ersetzen. Beispiel:

$ rails g controller Posts

Wenn Sie die neu generierte app / controller / posts_controller.rb öffnen , wird ein Controller ohne Aktionen angezeigt :

class PostsController < ApplicationController
    # empty
end

Es ist möglich, Standardmethoden für den Controller zu erstellen, indem Sie Controller-Namensargumente übergeben.

$ rails g controller ControllerName method1 method2

Um einen Controller in einem Modul zu erstellen, geben Sie den Controller-Namen als Pfad an, wie parent_module/controller_name . Zum Beispiel:

$ rails generate controller CreditCards open debit credit close
# OR
$ rails g controller CreditCards open debit credit close

Dadurch werden die folgenden Dateien generiert:

Controller: app/controllers/credit_cards_controller.rb
Test:       test/controllers/credit_cards_controller_test.rb
Views:      app/views/credit_cards/debit.html.erb [...etc]
Helper:     app/helpers/credit_cards_helper.rb

Ein Controller ist einfach eine Klasse, die definiert ist, um von ApplicationController zu erben.

In dieser Klasse definieren Sie Methoden, die zu den Aktionen für diesen Controller werden.

Generieren Sie eine Ressource mit Gerüsten

Von guides.rubyonrails.org:

Anstatt ein Modell direkt zu generieren. . . Lassen Sie uns ein Gerüst aufstellen. Ein Gerüst in Rails umfasst einen vollständigen Satz von Modellen, die Datenbankmigration für dieses Modell, den Controller, der es manipuliert, Ansichten zum Anzeigen und Bearbeiten der Daten und eine Testsuite für jedes der oben genannten.

Hier ein Beispiel für ein Gerüst einer Ressource namens Task mit einem String-Namen und einer Textbeschreibung:

rails generate scaffold Task name:string description:text

Dadurch werden die folgenden Dateien generiert:

Controller: app/controllers/tasks_controller.rb
Test:       test/models/task_test.rb
            test/controllers/tasks_controller_test.rb
Routes:     resources :tasks added in routes.rb
Views:      app/views/tasks
            app/views/tasks/index.html.erb
            app/views/tasks/edit.html.erb
            app/views/tasks/show.html.erb
            app/views/tasks/new.html.erb
            app/views/tasks/_form.html.erb
Helper:     app/helpers/tasks_helper.rb
JS:         app/assets/javascripts/tasks.coffee 
CSS:        app/assets/stylesheets/tasks.scss
            app/assets/stylesheets/scaffolds.scss

Beispiel zum Löschen von Dateien, die vom Scaffold für die Ressource Task generiert wurden

rails destroy scaffold Task

Erstellen Sie eine neue Rails-App mit einem nicht standardmäßigen Datenbankadapter

Rails ist standardmäßig mit ausgeliefert ActiveRecord ein ORM (Object Relational Mapping) aus dem Muster abgeleitet mit dem gleichen Namen .

Als ORM ist es darauf ausgelegt, relationales Mapping zu handhaben, und genauer durch die Verarbeitung von SQL-Anforderungen für Sie, daher die Beschränkung auf SQL-Datenbanken.

Sie können jedoch weiterhin eine Rails-App mit einem anderen Datenbankverwaltungssystem erstellen:

  1. Erstellen Sie einfach Ihre App ohne Active-Record
$ rails app new MyApp --skip-active-record
  1. Gemfile Sie Ihr eigenes Datenbankverwaltungssystem in Gemfile
gem 'mongoid', '~> 5.0'
  1. bundle install und befolgen Sie die Installationsschritte in der gewünschten Datenbank.

In diesem Beispiel handelt es sich bei mongoid um eine Objektzuordnung für MongoDB Wie viele andere für Rails gebaute Datenbank- ActiveModel erbt auch ActiveModel die gleiche Methode wie ActiveRecord , die eine gemeinsame Schnittstelle für viele Funktionen wie Validierungen, Rückrufe, Übersetzungen usw. bietet .

Zu anderen Datenbankadaptern gehören unter anderem:

  • Datamapper

  • Folgeschienen

Erstellen von Rails-APIs in JSON

In diesem Beispiel wird davon ausgegangen, dass Sie Erfahrung mit der Erstellung von Rails-Anwendungen haben.

Führen Sie den folgenden Befehl aus, um eine API-only-App in Rails 5 zu erstellen

rails new name-of-app --api

Fügen Sie active_model_serializers in Gemfile hinzu

gem 'active_model_serializers'

Installieren Sie das Bundle im Terminal

bundle install

ActiveModelSerializer Sie den ActiveModelSerializer Adapter so ein, dass er verwendet werden soll :json_api

# config/initializers/active_model_serializer.rb
ActiveModelSerializers.config.adapter = :json_api
Mime::Type.register "application/json", :json, %w( text/x-json application/jsonrequest application/vnd.api+json )

Generieren Sie ein neues Gerüst für Ihre Ressource

rails generate scaffold Task name:string description:text

Dadurch werden die folgenden Dateien generiert:

Controller: App / Controller / Aufgabencontroller.rb

Test:       test/models/task_test.rb
            test/controllers/tasks_controller_test.rb
Routes:     resources :tasks added in routes.rb
Migration:  db/migrate/_create_tasks.rb
Model:      app/models/task.rb
Serializer: app/serializers/task_serializer.rb
Controller: app/controllers/tasks_controller.rb

Schienen installieren

Rails auf Ubuntu installieren

Auf einem sauberen Ubuntu sollte die Installation von Rails einfach sein

Aktualisieren von Ubuntu-Paketen

sudo apt-get update
sudo apt-get upgrade

Installieren Sie Ruby und Rails Abhängigkeiten

sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

Ruby-Versionsmanager installieren In diesem Fall verwendet rbenv das einfachste

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Ruby Build installieren

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

Shell neu starten

exec $SHELL

Ruby installieren

rbenv install 2.3.1
rbenv global 2.3.1
rbenv rehash

Schienen montieren

gem install rails

Rails unter Windows installieren

Schritt 1: Ruby installieren

Wir benötigen die Programmiersprache Ruby. Wir können eine vorkompilierte Version von Ruby mit dem Namen RubyInstaller verwenden.

  • Laden Sie Ruby Installer von rubyinstaller.org herunter und führen Sie es aus.
  • Führen Sie das Installationsprogramm aus. Aktivieren Sie das Kontrollkästchen "Ruby-ausführbare Dateien zu Ihrem PATH hinzufügen" und installieren Sie dann.
  • Um auf Ruby zuzugreifen, öffnen Sie das Windows-Menü, klicken Sie auf Alle Programme, gehen Sie zu Ruby und klicken Sie auf "Eingabeaufforderung mit Ruby starten". Ein Eingabeaufforderungsterminal wird geöffnet. Wenn Sie ruby -v und die Eingabetaste drücken, sollte die installierte Ruby-Versionsnummer angezeigt werden.

Schritt 2: Ruby Development Kit

Nach der Installation von Ruby können wir versuchen, Rails zu installieren. Einige Bibliotheken, die Rails benötigt, benötigen einige Build-Tools, um kompiliert zu werden, und Windows fehlen diese Tools standardmäßig. Sie können dies feststellen, wenn beim Versuch, Rails Gem::InstallError: The '[gem name]' native gem requires installed build tools. zu installieren, ein Fehler Gem::InstallError: The '[gem name]' native gem requires installed build tools. Um dies zu beheben, müssen wir das Ruby Development Kit installieren.

  • Laden Sie das DevKit herunter
  • Führen Sie das Installationsprogramm aus.
  • Wir müssen einen Ordner angeben, in dem das DevKit dauerhaft installiert wird. Ich empfehle, es im Stammverzeichnis Ihrer Festplatte unter C:\RubyDevKit . (Verwenden Sie keine Leerzeichen im Verzeichnisnamen.)

Jetzt müssen wir die DevKit-Tools für Ruby verfügbar machen.

  • Wechseln Sie an Ihrer Eingabeaufforderung in das DevKit-Verzeichnis. cd C:\RubyDevKit oder das Verzeichnis, in dem Sie es installiert haben.
  • Wir müssen ein Ruby-Skript ausführen, um das DevKit-Setup zu initialisieren. ruby dk.rb init . Jetzt sagen wir das gleiche Skript, um das DevKit unserer Ruby-Installation hinzuzufügen. ruby dk.rb install .

Das DevKit sollte jetzt für Ihre Ruby-Tools zur Installation neuer Bibliotheken verfügbar sein.

Schritt 3: Schienen

Jetzt können wir Rails installieren. Rails ist ein Rubin-Juwel. Geben Sie in Ihre Eingabeaufforderung Folgendes ein:

gem install rails

Wenn Sie die Eingabetaste drücken, lädt das gem Programm diese Version des Rails-Gem und alle anderen Edelsteine ​​herunter, auf die Rails angewiesen ist.

Schritt 4: Node.js

Für einige Bibliotheken, von denen Rails abhängig ist, muss eine JavaScript-Laufzeitumgebung installiert sein. Installieren wir Node.js, damit diese Bibliotheken ordnungsgemäß funktionieren.

  • Laden Sie das Installationsprogramm für Node.js hier herunter.
  • Wenn der Download abgeschlossen ist, besuchen Sie den Download-Ordner und führen Sie das Installationsprogramm node-v4.4.7.pkg .
  • Lesen Sie die vollständige Lizenzvereinbarung, akzeptieren Sie die Bedingungen und klicken Sie im Rest des Assistenten auf Weiter, wobei die Standardeinstellungen beibehalten werden.
  • Es erscheint ein Fenster, in dem Sie gefragt werden, ob die App Änderungen an Ihrem Computer vornehmen soll. Klicken Sie auf "Ja".
  • Nach Abschluss der Installation müssen Sie Ihren Computer neu starten, damit Rails auf Node.js zugreifen kann.

Vergessen Sie nicht, nach dem Neustart des Computers das Windows-Menü aufzurufen, klicken Sie auf "Alle Programme", blättern Sie zu Ruby und klicken Sie auf "Eingabeaufforderung mit Ruby starten".



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow