Der größte Stolperstein in diesem Lehrplan war die "link_to-Methode". Natürlich denke ich, dass ich die grundlegende Verwendung verstehe, aber das Pfadargument scheint nicht zu passen.
Dieser Beitrag dient nicht dazu, etwas zu erklären, sondern zum eigenen Lesen des Codes. Im Folgenden werde ich alle link_to der diesmal erstellten Anwendung ausschneiden und zusammen mit dem Lesen der Argumente zusammenstellen.
①
ruby:application.html.erb
<%= link_to "Ausloggen", destroy_user_session_path, method: :delete %>
<%= link_to "Neuer Beitrag", new_prototype_path %>
Da sowohl "Abmelden" als auch "Neuer Beitrag" im angemeldeten Zustand Seiten und Prozesse sind, die allen gemeinsam sind, muss in () kein Argument übergeben werden. Die Abmeldeseite unterscheidet sich nicht von Benutzer zu Benutzer, und die neue Beitragsseite unterscheidet sich nicht von Benutzer zu Benutzer. Da die HTTP-Methode von "link_to method" standardmäßig GET ist, geben Sie die Methode beim Abmelden im dritten Argument an.
②
ruby:application.html.erb
<%= link_to "Einloggen", new_user_session_path %>
<%= link_to "Anmelden", new_user_registration_path %>
Die Idee ist die gleiche wie bei ①. Dieses Mal wird es angezeigt, wenn Sie nicht angemeldet sind. Da sich der Anmeldebildschirm und die neue Registrierung je nach Benutzer nicht ändern, ist kein Argument erforderlich.
③
ruby:application.html.erb
<%= link_to image_tag("logo.png "), root_path %>
root_path muss kein Argument haben!
④
ruby:prototypes/show.html.erb
<%= link_to "Bearbeiten", edit_prototype_path(@prototype) %>
<%= link_to "löschen", prototype_path(@prototype), method: :delete %>
Der Teil, den Sie bearbeiten oder von der Detailseite Ihrer Beiträge löschen möchten. Da in der Show-Aktion ein Datensatz als "@prototype = Prototype.find (params [: id])" ausgewählt ist, kann bestimmt werden, welcher Prototyp bearbeitet / gelöscht werden soll.
⑤
ruby:prototypes/_prototype.html.erb
<%= link_to prototype.title, prototype_path(prototype.id) %>
<%= link_to image_tag(prototype.image), prototype_path(prototype.id) %>
user_path springt zur Meine Seite des Benutzers. Es werden Argumente benötigt, um zu klären, wer meine Seite ist.
ruby:prototypes/index.html.erb
<%= link_to current_user.name + "Herr.", user_path(current_user) %>
Durch Klicken auf den angemeldeten Benutzernamen gelangen Sie zur Seite "Mein Benutzer".
Current_user
, der mit dem Devise Gem verwendet werden kann.
ruby:prototypes/_prototype.html.erb
<%= link_to "by " + prototype.user.name, user_path(prototype.user.id) %>
Rufen Sie die ID des Benutzers ab, der dem Prototyp zugeordnet ist.
ruby:prototypes/show.html.erb
<%= link_to "by " + @prototype.user.name, user_path(@prototype.user.id) %>
Der Code des Teils, in dem der Name angezeigt wird und der ihn veröffentlicht hat. In der Show-Aktion werden "@ prototype = Prototype.find (params [: id])" und ein Datensatz ausgewählt, sodass die ID des mit dem Prototyp verknüpften Benutzers abgerufen werden kann.
ruby:prototypes/show.html.erb
<%= link_to comment.user.name, user_path(comment.user.id) %>
Der Code, in dem der Kommentar angezeigt wird. In jeder Aussage|Für Blockparameter (Variablen)comment
|Gibt die ID des mit dem Kommentar verknüpften Benutzers ein und ruft sie ab.
Recommended Posts