LoginSignup
1
1

More than 3 years have passed since last update.

Rails if文とunlessの混合条件式の作成

Posted at

最終課題に向けて調整を行いました。
その際に、条件式を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が一致しない場合は購入画面に遷移するリンクを出現。
そうでない場合は「出品者は購入できません」と出現させる。

以上となります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1