0Pricing
Ruby Academy · Lektion

Routen und Parameter

HTTP verarbeiten

Routen und Parameter ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ruby Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

HTTP-Anfragen verarbeiten

Web-Apps beantworten Anfragen, indem sie passende Routen finden und Parameter auslesen.

  • Pfadsegmente können dynamisch sein
  • Query-Strings übertragen zusätzliche Daten
  • Formularinhalte enthalten übermittelte Felder

Sinatra stellt all diese Daten über den params-Hash bereit.

require 'sinatra'

get '/echo' do
  params['msg'].to_s
end

Benannte Routenparameter

Ein Doppelpunkt im Pfad definiert einen benannten Parameter, der ein Pfadsegment erfasst.

  • /users/:id entspricht /users/42
  • Der erfasste Wert steht in params['id']
require 'sinatra'

get '/users/:id' do
  "User ID is #{params['id']}"
end

Mehrere Parameter

Eine Route kann mehrere benannte Parameter enthalten.

  • Jedes Segment mit Doppelpunkt wird zu einem Schlüssel in params
  • Die Reihenfolge im Pfad spielt beim Zugriff keine Rolle
require 'sinatra'

get '/posts/:year/:month' do
  "Posts from #{params['month']}/#{params['year']}"
end

Query-String-Parameter

Werte im Query-String nach ? landen ebenfalls in params.

  • /search?q=ruby liefert params['q'] == 'ruby'
  • Mehrere Paare werden durch & getrennt
require 'sinatra'

get '/search' do
  "Searching for: #{params['q']}"
end

Mit params als Hash arbeiten

Das Objekt params verhält sich wie ein Ruby-Hash. Das Üben mit einem einfachen Hash macht die Muster verständlich.

  • Verwenden Sie fetch mit einem Standardwert, um sicher zu arbeiten
  • Schlüssel sind konventionsgemäß Zeichenketten
params = { 'name' => 'Ada', 'lang' => 'Ruby' }

puts params['name']
puts params.fetch('age', 'unknown')

Formulardaten mit POST

Bei post-Anfragen erscheinen übermittelte Formularfelder ebenfalls in params.

  • Sinatra analysiert den Anfrage-Body automatisch
  • Es gilt dasselbe Zugriffsmuster wie bei Query-Parametern
require 'sinatra'

post '/signup' do
  "Welcome, #{params['username']}"
end

Splat-Parameter

Ein Splat (*) entspricht einer beliebigen Anzahl von Zeichen und speichert sie im Array params['splat'].

  • /files/* erfasst den restlichen Pfad
  • Mehrere Splats erzeugen mehrere Array-Einträge
require 'sinatra'

get '/files/*' do
  "Path: #{params['splat'].first}"
end

Optionale und Regex-Routen

Routen können reguläre Ausdrücke für eine präzise Übereinstimmung verwenden.

  • Erfassungen sind in params['captures'] verfügbar
  • Nützlich für Einschränkungen wie ausschließlich numerische IDs
require 'sinatra'

get %r{/item/(\d+)} do
  "Item #{params['captures'].first}"
end

Parameter validieren

Sie sollten eingehende params immer validieren und konvertieren, da sie als Zeichenketten ankommen.

  • Verwenden Sie to_i oder Integer() für Zahlen
  • Lehnen Sie fehlende erforderliche Werte mit einer verständlichen Fehlermeldung ab
def parse_id(raw)
  id = Integer(raw)
  raise 'must be positive' if id <= 0
  id
end

puts parse_id('42')

Standardwerte

Geben Sie sinnvolle Standardwerte für optionale params an, um nil-Fehler zu vermeiden.

  • params.fetch('page', '1')
  • Kombinieren Sie dies für eine sichere Seitennavigation mit einer Konvertierung
params = { 'page' => nil }
page = (params['page'] || '1').to_i
puts "Page: #{page}"

Weiterleiten

Verwenden Sie redirect, um den Client an eine andere URL weiterzuleiten.

  • Standardmäßig wird der Status 302 ausgegeben
  • Üblich nach dem erfolgreichen Absenden eines Formulars
require 'sinatra'

post '/login' do
  redirect '/dashboard'
end

Schnelltest

Überprüfen Sie Ihr Wissen über Routen und params.

Zusammenfassung

Sie haben gelernt, wie Sinatra Eingaben verarbeitet:

  • Benannte params verwenden :name im Pfad
  • Query-Strings und Formularfelder füllen ebenfalls params
  • Splats und Regex-Routen erfassen flexible Pfade
  • Validieren und konvertieren Sie String-Parameter immer
  • Verwenden Sie redirect, um Clients zwischen URLs weiterzuleiten

Als Nächstes geben Sie strukturierte JSON-Antworten zurück.

Häufig gestellte Fragen

Ist die Lektion „Routen und Parameter“ kostenlos?

Ja — der vollständige Text von „Routen und Parameter“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ruby Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Routen und Parameter“?

HTTP verarbeiten Du übst Ruby Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ruby Academy zu starten?

Keine Vorkenntnisse erforderlich. Ruby Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Routen und Parameter“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ruby Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ruby Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Sinatra-Grundlagen
  2. Routen und Parameter
  3. JSON-APIs
  4. Middleware und Rack
← Zurück zu Ruby Academy