
Fortgeschrittene ActiveRecord-Abfragen
Query interface, where, joins, includes, eager loading, N+1-Problem, transactions, locking (optimistic/pessimistic)
1Welche ActiveRecord-Methode ruft einen Datensatz anhand seines Primärschlüssels ab und löst eine Exception aus, wenn er nicht gefunden wird?
Welche ActiveRecord-Methode ruft einen Datensatz anhand seines Primärschlüssels ab und löst eine Exception aus, wenn er nicht gefunden wird?
Antwort
Die find-Methode ruft einen Datensatz anhand seines Primärschlüssels ab und löst eine ActiveRecord::RecordNotFound-Exception aus, wenn der Datensatz nicht existiert. Dadurch wird sichergestellt, dass der Code explizit fehlschlägt, anstatt mit einem nil-Wert fortzufahren. Um die Exception zu vermeiden und stattdessen nil zurückzugeben, verwende find_by(id: value).
2Was ist der Hauptunterschied zwischen find_by und where.first in ActiveRecord?
Was ist der Hauptunterschied zwischen find_by und where.first in ActiveRecord?
Antwort
find_by gibt direkt einen einzelnen Datensatz oder nil zurück, während where.first eine ActiveRecord-Relation zurückgibt und dann first aufruft, um das erste Ergebnis zu erhalten. In der Praxis erzeugt find_by eine optimierte Abfrage mit LIMIT 1, wohingegen where möglicherweise mehr Daten lädt, bevor das erste Element ausgewählt wird.
3Wie übergibt man mehrere Bedingungen an die where-Methode in ActiveRecord?
Wie übergibt man mehrere Bedingungen an die where-Methode in ActiveRecord?
Antwort
Die where-Methode akzeptiert einen Hash mit mehreren Schlüsseln, um mehrere Bedingungen anzugeben, die mit AND kombiniert werden. Zum Beispiel erzeugt User.where(status: 'active', role: 'admin') WHERE status = 'active' AND role = 'admin'. Für OR-Bedingungen verwende or oder rohe SQL-Abfragen.
Was ist das N+1-Problem in ActiveRecord?
Welche Methode sollte man verwenden, um das N+1-Problem durch Vorladen der Assoziationen zu lösen?
+25 Interview-Fragen
Weitere Ruby on Rails-Interviewthemen
Ruby-Grundlagen
Objektorientierte Programmierung in Ruby
Rails-Grundlagen
Routing & Controllers
ActiveRecord-Grundlagen
Views & ERB-Templates
ActiveRecord-Assoziationen
Rails-Formulare
Authentifizierung & Autorisierung
Moderne Asset Pipeline & Frontend
Rails API-Modus
Testen mit RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Caching-Strategien
Fortgeschrittene Migrationen
Rails Engines & modulare Apps
Performance-Optimierung
Rails Design Patterns
Ruby-Metaprogrammierung
Rails-Sicherheit
GraphQL mit Rails
Deployment & Produktion
Monitoring & Logging
Rails-Upgrade-Strategien
Meistere Ruby on Rails für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten