Focus mode

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

Patika Plus Banner

Yazılım Kariyerinde İlerlemeni Hızlandıracak Eğitimler

Kendi kendine yazılım öğrenirken zorlanıyor, takıldığın noktalarda bir mentore mi ihtiyaç duyuyorsun? Patika+ programlarımız ile 4-8 aylık yoğun eğitim kamplarına katıl, proje tabanlı canlı dersler ve sana özel hazırlanmış eğitimlerle gereken tüm yetenekleri kazan, iş hayatına başla!

Comments

You need to enroll in the course to be able to comment!