[RUBY] Création d'une expression conditionnelle mixte de l'instruction Rails if et

Nous avons fait des ajustements pour la tâche finale. À ce moment-là, l'expression conditionnelle a un modèle spécial utilisant à la fois if et sauf. J'ai essayé de contester. Je vais l'afficher sous forme de mémorandum.

Cette fois, il est décrit dans haml.

sample.rb


#Dans le fichier de vue

.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
Pour acheter l'écran
          - else
            %p Le vendeur ne peut pas acheter

Contenu de la méthode @item Contient des informations de liste. acheteurs Il s'agit d'une méthode d'historique d'achat.

Commentaire

if〜else Si l'ID d'historique d'achat existe, SOLD OUT s'affiche.

unless~else Stocké comme imbriqué dans le else de l'instruction ifFaire. À partir de là, l'expression conditionnelle sauf si est entrée. Si le produit et l'ID utilisateur répertoriés ne correspondent pas, un lien qui passe à l'écran d'achat apparaîtra. Sinon, il apparaîtra comme "Le vendeur ne peut pas acheter".

C'est tout.

Recommended Posts

Création d'une expression conditionnelle mixte de l'instruction Rails if et
Rails Bases de la création d'une nouvelle application
[Rails] Volume qui affiche les favoris et une liste de favoris
Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~
À propos de l'instruction et de l'instruction if
Créer un lot Liferay
[Rails] Création d'un champ de recherche
(Ruby on Rails6) Créer une base de données et l'afficher dans une vue
Bases du branchement conditionnel et du retour
Étude de Java # 4 (branchement conditionnel / instruction if)
[Rails] Différences et utilisation de each_with_index et each.with_index
Traitement des relevés et des succursales
[Java] Le branchement conditionnel est une instruction if, mais il existe également un opérateur conditionnel.
les rails c ne démarrent pas et un grand nombre d'erreurs de ligne se produisent