[RUBY] Erstellen Sie einen Pfad aus einem Array

Erstellen Sie einen Pfad aus einem Array

Neben der Verwendung des Routing-Hilfsprogramms können Sie auch Pfade und URLs aus einer Reihe von Parametern erstellen. Betrachten Sie das folgende Routing

ruby.rb


resources :magazines do
  resources :ads
end

Es gibt Ressourcen: Anzeigen (Anzeigen) in Ressourcen: Zeitschriften. Wenn Sie magazine_ad_path verwenden, anstatt die ID numerisch zu übergeben Sie können Magazin- und Anzeigeninstanzen als Argumente übergeben. Jetzt können Sie den Pfad mit Instanzinformationen für @magazine bzw. @ad verfeinern.

<%= link_to 'Ad details', magazine_ad_path(@magazine, @ad) %>

Sie können url_for auch für mehrere Objekte verwenden. Selbst wenn Sie mehrere Objekte übergeben, wird das richtige Routing automatisch ermittelt.

<!--@mit Magazin@Anzeige als Argument übergeben-->
<%= link_to 'Ad details', url_for([@magazine, @ad]) %>

Im obigen Fall erkennt Rails, dass @magazine Magazine und @ad Ad ist, und ruft den darauf basierenden magazine_ad_path-Helfer auf. Es ist erstaunlich, dass Sie dies selbst erkennen. ..

Ebenso können Helfer wie link_to einfach ein Objekt anstelle des vollständigen Aufrufs url_for übergeben.

<%= link_to 'Ad details', [@magazine, @ad] %>

Wenn Sie nur auf eine Zeitschrift verlinken möchten, schreiben Sie:

<%= link_to 'Magazine details', @magazine %>

Bei allen anderen Aktionen müssen Sie lediglich den Aktionsnamen in das erste Element des Arrays einfügen.

<%= link_to 'Edit Ad', [:edit, @magazine, @ad] %>

Auf diese Weise können Sie eine Instanz des Modells als URL behandeln. Dies ist einer der großen Vorteile eines einfallsreichen Stils.

Es ist erstaunlich, dass Rails automatisch einen Pfad generiert, indem eine Instanz an den Pfad übergeben wird.

Referenzschienenhandbuch

Recommended Posts

Erstellen Sie einen Pfad aus einem Array
Laden von Klassen aus dem Pfad
[Java] Konvertierung von Array zu Liste
Array
Benutzer kann nicht über den Active Admin-Administratorbildschirm erstellt werden