Focus mode
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>
Programs to Accelerate Your Progress in a Software Career
Join our 4-8 month intensive Patika+ bootcamps, start with the fundamentals and gain comprehensive knowledge to kickstart your software career!
You need to enroll in the course to be able to comment!