O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Ruby on Rails 3.1 Expertenwissen

Book Description

  • Vorstellung aller wichtigen Neuerungen von Ruby on Rails 3 basierend auf Version 3.1- Expertenwissen wird in einem kompaktem Format vermittelt- Einführung für ambitionierte Einsteiger

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhaltsverzeichnis
  5. 1 Einleitung
    1. 1.1 Zielsetzung
    2. 1.2 Konventionen
    3. 1.3 Was ist neu in Rails 3.1?
    4. 1.4 Aufbau des Buchs
    5. 1.5 Wer dieses Buch lesen sollte
    6. 1.6 Wie man dieses Buch lesen sollte
    7. 1.7 Webseite zum Buch
    8. 1.8 Danksagungen
  6. 2 Grundlagen
    1. 2.1 Paradigmen und Vorgehensweisen
      1. 2.1.1 Don’t repeat yourself
      2. 2.1.2 Convention over Configuration
    2. 2.2 Architektur einer Rails-Anwendung
      1. 2.2.1 Model-View-Controller
      2. 2.2.2 Zusammenspiel einzelner Schichten
      3. 2.2.3 REST
      4. 2.2.4 Umgebungen
    3. 2.3 Wichtige Kernmodule
      1. 2.3.1 ActiveRecord
      2. 2.3.2 ActiveModel
      3. 2.3.3 ActiveSupport
      4. 2.3.4 Railties
      5. 2.3.5 ActionPack
      6. 2.3.6 ActionMailer
    4. 2.4 Ruby Version Manager
      1. 2.4.1 Installation
      2. 2.4.2 Ruby-Implementierungen installieren
      3. 2.4.3 Verwalten der Gems
      4. 2.4.4 RVM aktuell halten
    5. 2.5 Gem-Verwaltung mit Bundler
    6. 2.6 Rake
    7. 2.7 Asset-Pipeline
      1. 2.7.1 Zugriff auf Asset-Dateien
      2. 2.7.2 Zusammenführen von Assets
      3. 2.7.3 Vorverarbeitung
      4. 2.7.4 Komprimierung
    8. 2.8 Rails auf der Kommandozeile
  7. 3 Rails in der Praxis
    1. 3.1 Einleitung
      1. 3.1.1 Vorstellung der Beispielanwendung
      2. 3.1.2 Das Datenmodell
    2. 3.2 Anwendung anlegen
    3. 3.3 Anwendungsverzeichnis
    4. 3.4 Initiale Konfigurationen
      1. 3.4.1 Startseite anlegen
      2. 3.4.2 Standardlayout einer Rails-Anwendung
      3. 3.4.3 Verwalten der Stylesheets und JavaScript-Dateien
      4. 3.4.4 Anpassen des Layouts
    5. 3.5 Benutzerauthentifizierung
      1. 3.5.1 Installation von devise
      2. 3.5.2 Basiskonfiguration
      3. 3.5.3 User-Model erstellen
      4. 3.5.4 Views und Routen
      5. 3.5.5 Benachrichtigungen
      6. 3.5.6 Helfer für die Arbeit mit Benutzern
      7. 3.5.7 Profilseite eines Benutzers
      8. 3.5.8 Passwortbestätigung entfernen
      9. 3.5.9 Authentifizierung per Login-Attribut
    6. 3.6 Links verwalten
      1. 3.6.1 Model anlegen
      2. 3.6.2 Beziehungen zwischen Models
      3. 3.6.3 Anlegen von Controllern und Views
      4. 3.6.4 Neue Links und Routen anlegen
      5. 3.6.5 Validierung der Models
      6. 3.6.6 Gesamtübersicht aller Links
      7. 3.6.7 Übersichtlichkeit dank Paginierung
    7. 3.7 Links mit Tags kategorisieren
      1. 3.7.1 Einführen neuer Models
      2. 3.7.2 Beziehungen zwischen Tags und Links
      3. 3.7.3 Verwendung eines virtuellen Attributs
      4. 3.7.4 Autocomplete mit Ajax
      5. 3.7.5 Unterschiedliche Ausgabeformate in einem Controller
    8. 3.8 Fazit
  8. 4 Alternative Komponenten
    1. 4.1 Suchen mit Apache Solr
      1. 4.1.1 Solr in das Beispielprojekt einbinden
      2. 4.1.2 Suchen im Controller
      3. 4.1.3 Das Suchformular
      4. 4.1.4 Indexierung von Daten
      5. 4.1.5 Highlighting der Suchergebnisse
      6. 4.1.6 Suche verfeinern mit Facetten
      7. 4.1.7 Fazit
    2. 4.2 Rails 3 und NoSQL
      1. 4.2.1 Wahl der NoSQL-Datenbank
      2. 4.2.2 MongoDB – Aufbau und Prinzipien
      3. 4.2.3 Der Objekt-Dokument-Mapper Mongoid
      4. 4.2.4 Ein bestehendes Model mit Mongoid verwalten
      5. 4.2.5 Benutzerverwaltung auf MongoDB umstellen
      6. 4.2.6 Abfragen
      7. 4.2.7 Observer
      8. 4.2.8 Mongoid und Sunspot
      9. 4.2.9 Besonderheiten von Mongoid
      10. 4.2.10 Andere NoSQL-Datenbanken
      11. 4.2.11 Fazit
  9. 5 Tests und Qualitätssicherung
    1. 5.1 Behavior Driven Development
      1. 5.1.1 Die Prinzipien
      2. 5.1.2 Ein üblicher Arbeitsablauf
      3. 5.1.3 Verbreitete Werkzeuge
    2. 5.2 Komponententests mit RSpec
      1. 5.2.1 Grundlagen
      2. 5.2.2 Aufbau der Tests
      3. 5.2.3 Ausführen auf der Kommandozeile
      4. 5.2.4 Anforderungen spezifizieren durch Matcher
      5. 5.2.5 Mocks und Stubs
      6. 5.2.6 Testen der Model-Schicht
      7. 5.2.7 Testen der Controller-Schicht
      8. 5.2.8 Testen der Helper-Schicht
      9. 5.2.9 Testen des Routings
    3. 5.3 Factory Girl als Fixture-Alternative
      1. 5.3.1 Installation im Beispielprojekt
      2. 5.3.2 Wie wird es verwendet?
      3. 5.3.3 Sequenzen – fortlaufende Factories
      4. 5.3.4 Beziehungen zwischen Factories
      5. 5.3.5 Fazit
    4. 5.4 Integrationstests mit Cucumber
      1. 5.4.1 Cucumber mit Rails verwenden
      2. 5.4.2 Cucumber-Features erstellen
      3. 5.4.3 Unser erstes Feature
      4. 5.4.4 Formulare testen
      5. 5.4.5 Wiederverwendbare Steps benutzen
      6. 5.4.6 Ein Bookmark speichern
      7. 5.4.7 Mehrere Datensätze erstellen
      8. 5.4.8 Tests durch Tags gruppieren
      9. 5.4.9 JavaScript testen mit Selenium
      10. 5.4.10 Fazit
    5. 5.5 Metriken – Projekte überwachen
      1. 5.5.1 Gängige Metriken für Rails-Anwendungen
      2. 5.5.2 Metriken erstellen mit metric_fu
      3. 5.5.3 Richtig einschätzen und verwenden
  10. 6 Rails erweitern
    1. 6.1 Eigene Models mit ActiveModel erstellen
      1. 6.1.1 Validierung
      2. 6.1.2 Serialisierung
      3. 6.1.3 Verwendung innerhalb der Anwendung
      4. 6.1.4 In Formularen verwenden
    2. 6.2 Railties
      1. 6.2.1 Verwenden der Railties-Schnittstelle
      2. 6.2.2 Auslagern in ein eigenes RubyGem
    3. 6.3 Generatoren selbst entwickeln
      1. 6.3.1 Das Grundgerüst erstellen
      2. 6.3.2 Templates
      3. 6.3.3 Hooks zu anderen Generatoren
      4. 6.3.4 Verwendung auf der Kommandozeile
      5. 6.3.5 In ein Gem auslagern
    4. 6.4 Rails-Engines
      1. 6.4.1 Engine anlegen
      2. 6.4.2 Aufbau
      3. 6.4.3 Anwendungsschichten einer Engine
      4. 6.4.4 Einbinden in die Rails-Anwendung
      5. 6.4.5 Fazit
  11. 7 Best Practices
    1. 7.1 Während der Entwicklung
      1. 7.1.1 Fat Models – Skinny Controllers
      2. 7.1.2 Filter in Controllern
      3. 7.1.3 Häufig verwendete Abfragen hinterlegen
      4. 7.1.4 Model-Zustände mit Observern verfolgen
      5. 7.1.5 Datenbank-Seeding
      6. 7.1.6 Isoliertes Installieren von Gems
      7. 7.1.7 Das Potenzial von RVM in Projekten ausreizen
    2. 7.2 Vor Angriffen schützen
      1. 7.2.1 SQL-Injections bei Ruby on Rails
      2. 7.2.2 Cross-Site-Scripting verhindern
      3. 7.2.3 Rechteüberprüfung beim Verwalten von Datensätzen
      4. 7.2.4 Mass-Assignment von Model-Attributen
    3. 7.3 Capistrano
      1. 7.3.1 Konfiguration für die Beispielanwendung
      2. 7.3.2 Wichtige Tasks
      3. 7.3.3 Entwicklung eines eigenen Capistrano-Tasks
      4. 7.3.4 Capistrano-Tasks durch Hooks erweitern
      5. 7.3.5 Deployments durchführen
      6. 7.3.6 Staging von Deployments
      7. 7.3.7 Fazit
  12. Nützliche Weblinks
  13. Glossar
  14. Stichwortverzeichnis