Odak modu

Node.js

Kurs - Öğrenci İlişkisi II

Kurs ve Öğrenci İlişkisi II


Geçen çalışmamızda öğrenci kullanıcısının kendisini nasıl kurslara kayıt ettirebileceği üzerine konuşmuştuk, şimdi ise sırada öğrenci kullanıcımızın kaydolduğu kursu nasıl bırakacağı üzerine konuşacağız. Bunun için ilgili releaseCourse fonksiyonu aşağıdadır.


exports.releaseCourse = async (req, res) => {
  try {    
    const user = await User.findById(req.session.userID);
    await user.courses.pull({_id:req.body.course_id});
    await user.save();

    res.status(200).redirect('/users/dashboard');
  } catch (error) {
    res.status(400).json({
      status: 'fail',
      error,
    });
  }
};


courses alanı arraydi ve bir array içerisinden array elemenini kaldırmak için pull metodunu kullanıyoruz. İlgili yönlendirmeyi de aşağıda görebilirsiniz.


router.route('/release').post(courseController.releaseCourse);


Aynen enroll fonksiyonunda olduğu gibi release fonksiyonunda da ilgili kursu ID yardımıyla yakalayacağız, form içerisinde.


<form method="POST" action="/courses/release">
  <input type="hidden" name="course_id" value="<%= user.courses[i]._id %>">
  <button class="btn btn-lg btn-danger text-white"><span>RELEASE</span></button>
</form>



Proje GitHub


Çalışma Özel GitHub

Background Pattern
Birlikte öğrenelim

Sektörde en çok aranan yazılım becerilerini kazan

Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.

Yunus Emre Kabakcı

Patika+ mezunu

Patika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,

3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!


“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“

Yorumlar

Yorum yapabilmek için derse kayıt olmalısın!