GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Modul 6 von 7 · Text

Routes.js

FREDYS FERNANDEZ

var express = require("express");
var Imagen = require("./models/imagenes");
var router = express.Router();
var image_finder_middleware = require("./middlewares/find_image");

router.get("/",function(req,res){
      /*Buscar usuario*/
      res.render("app/home");
});

/* Arquitectura REST */
/*    imagenes/new => Nos sirve para mostrar el formulario  */
router.get("/imagenes/new", function(req, res){
        res.render("app/imagenes/new");
});

//  exportamos la funcion middlewares que nos servira para optimizar las funciones
router.all("/imagenes/:id*", image_finder_middleware);

/*  imagenes/:id/edit => Va desplegar un formulario de una imagen ya existente  que nos permite editar dicha imagen */
router.get("/imagenes/:id/edit", function(req, res){
      res.render("app/imagenes/edit");
});

// imagen individual
/*
      Se pasa la url y el id de la  y despues anidams y concatenamos una serie de funciones que s
      pueden aplicar para este recurso.
      /imagenes/:id => Mostrar la imagen que nos solicito el usuario por el id
*/
router.route("/imagenes/:id")
.get(function(req,res){
      res.render("app/imagenes/show");
  })

/* Lo que hace put es actualizar esta imagen que nos manda el usuario*/
.put(function(req, res){
      res.locals.imagen.title = req.body.title;
      res.locals.imagen.save(function(err){
            if (!err){
                res.render("app/imagenes/show");
            }else {
                res.render("app/imagenes/"+req.params.id+"/edit");
            }
      })
})

/* Lo que hace delete es eliminar esta imagen que nos manda el usuario*/
 .delete(function(req,res){
        Imagen.findOneAndRemove({_id:req.params.id}, function(err,imagen){
              if(!err){
                    res.redirect("/app/imagenes");
              }else {
                    console.log(err);
                      res.redirect("/app/imagenes"+req.params.id);
              }
        })
});

/*Colección de imagenes
      Obetenemos todas las imagenes
*/
router.route("/imagenes")
.get(function(req,res){
        Imagen.find({},function(err,imagenes){
              if(err){ res.redirect("/app"); return; }
                res.render("app/imagenes/index", {Imagenes: imagenes});
        });
})

// Función para guardar la imagen
.post(function(req,res){
    var data = {
          title: req.body.title
    }
    var imagen = new Imagen(data);

    // Asincronamente ya se puede guardar la imagen
    imagen.save(function(err){
          if(!err){
                res.redirect("/app/imagenes/"+imagen._id);
                console.log(imagen);
          }else {
                res.render(err);
          }
    });

});

module.exports = router;
 

Anleitung

Um im Kurs weiterzukommen, sende einen Versuch dieses Quiz ab. Du kannst ihn nach der letzten Frage absenden.

Zum gewählten Modul

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck