最終課題に向けて調整を行いました。
その際に、条件式をifとunlessの両方を使用するという特殊なパターンに
チャレンジしてみました。備忘録として投稿させて頂きます。
今回はhamlにて記述しています。
sample.rb
#viewファイルにて
.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
購入画面へ
- else
%p 出品者は購入できません
メソッドの中身
@item 出品情報が入っています。
buyers 購入した履歴のメソッドになります。
#解説
if〜else
もし購入した履歴のIDが存在したらSOLD OUTを表示
unless~else
if文のelseの中に入れ子として格納
しています。そこからunlessの条件式を入れています。
もし出品した商品とユーザーIDが一致しない場合は購入画面に遷移するリンクを出現。
そうでない場合は「出品者は購入できません」と出現させる。
以上となります。