[RUBY] Erstellen eines gemischten bedingten Ausdrucks von Rails if-Anweisung und sofern nicht

Wir haben Anpassungen für die letzte Aufgabe vorgenommen. Zu diesem Zeitpunkt weist der bedingte Ausdruck ein spezielles Muster auf, bei dem sowohl wenn als auch nicht verwendet wird. Ich habe versucht herauszufordern. Ich werde es als Memorandum veröffentlichen.

Diesmal ist es in haml beschrieben.

sample.rb


#In der Ansichtsdatei

.item-show-page__link-btn
        -if @item.buyers.present?
          %p SOLD OUT
        -else
          - unless user_signed_in? && @item.user_id == current_user.id
            = link_to purchase_item_path(@item.id), class: "item-show-page__link" do
Bildschirm kaufen
          - else
            %p Verkäufer kann nicht kaufen

Inhalt der Methode @item Enthält Auflistungsinformationen. Käufer Dies ist eine Methode zur Kaufhistorie.

Kommentar

if〜else Wenn die Kaufhistorie-ID vorhanden ist, wird AUSVERKAUFT angezeigt.

unless~else Wird als verschachtelt im else der if-Anweisung gespeicherttun. Von dort wird der bedingte Ausdruck eingegeben, es sei denn. Wenn das aufgelistete Produkt und die Benutzer-ID nicht übereinstimmen, wird ein Link angezeigt, der zum Kaufbildschirm übergeht. Wenn nicht, wird angezeigt, dass der Verkäufer nicht kaufen kann.

Das ist alles.

Recommended Posts

Erstellen eines gemischten bedingten Ausdrucks von Rails if-Anweisung und sofern nicht
Rails Grundlagen zum Erstellen einer neuen Anwendung
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Über für Anweisung und wenn Anweisung
Erstellen eines Liferay-Stapels
[Rails] Erstellen eines Suchfelds
(Ruby on Rails6) Erstellen einer Datenbank und Anzeigen in einer Ansicht
Grundlagen der bedingten Verzweigung und Rückkehr
Java # 4 studieren (bedingte Verzweigung / if-Anweisung)
[Rails] Unterschiede und Verwendung von each_with_index und each.with_index
If-Anweisung und Verzweigungsverarbeitung
[Java] Bedingte Verzweigung ist eine if-Anweisung, es gibt jedoch auch einen bedingten Operator.
Schienen c starten nicht und es tritt eine große Anzahl von Leitungsfehlern auf