Buscar..


Observaciones

Las rutas son reglas que le dicen a Sails qué hacer cuando se enfrentan con una solicitud entrante.

Las rutas se definen en config/routes.js . El orden de las rutas es significativo, ya que las rutas se comparan de arriba hacia abajo. Esto significa que si tiene una ruta específica que también puede ser comparada con una ruta comodín, la ruta específica debe definirse sobre la ruta comodín.

Cuando una solicitud ingresa a su aplicación, sails.js toma todos los parámetros que vienen con ella y los pone a su disposición como params en el objeto de solicitud.


Las propiedades en el objeto de destino de ruta se pasarán al controlador de ruta en el objeto req.options. Las siguientes son propiedades reservadas que pueden afectar el comportamiento del controlador de ruta:

Propiedad Tipos de objetivo aplicables Tipo de datos Detalles
skipAssets todos Booleano Establézcalo en true si no desea que la ruta coincida con las direcciones URL con puntos (por ejemplo, myImage.jpg). Esto evitará que sus rutas con notación de comodines coincidan con las URL de los activos estáticos. Útil al crear slugs de URL.
skipRegex todos Regexp Si omitir cada URL que contiene un punto es demasiado permisivo, o si necesita que se skipRegex un controlador de ruta en función de criterios diferentes por completo, puede usar skipRegex . Esta opción le permite especificar una expresión regular o una matriz de expresiones regulares para hacer coincidir la URL de la solicitud; Si cualquiera de las coincidencias tiene éxito, el controlador se omite. Tenga en cuenta que, a diferencia de la sintaxis para vincular un controlador con una expresión regular, skipRegex espera objetos RegExp _actuales, no cadenas.
locales controlador, vista, plano, respuesta Diccionario Establece las variables locales predeterminadas para pasar a cualquier vista que se represente mientras se maneja la solicitud.
cors todos Diccionario o Boolean o String Especifica cómo manejar las solicitudes de esta ruta desde un origen diferente.
poblar cianotipo Booleano Indica si los resultados de una acción de modelo "buscar" o "buscar un" deben tener campos de modelo asociados rellenados. De manera predeterminada, el valor establecido en config/blueprints.js .
saltar , limitar , ordenar , donde cianotipo Diccionario Establecer criterios para el modelo de "encontrar".

Definiciones de ruta RESTful personalizadas

module.exports.routes = {
    'GET /foo': 'FooController.index',
    'GET /foo/new': 'FooController.new',
    'POST /foo/create': 'FooController.create',
    'GET /foo/:id/edit': 'FooController.edit',
    'PUT /foo/:id/update': 'FooController.update',
    'GET /foo/:id': 'FooController.show',
    'DELETE /foo/:id': 'FooController.delete',
};

Redirigir

module.exports.routes = {
  '/foo': '/bar',
  'GET /google': 'http://www.google.com'
};

Definir variable personalizada para todas las vistas.

module.exports.routes = {
  // This function will be executed for all http verbs on all urls
  'all /*', function (req, res, next) {
    // Expose the function `fooBar` to all views (via the locals object)
    res.locals.fooBar = function (arg1) {
      return 'foobar' + arg1;
    };
  },
};

Omitir activos (urls con puntos en ellos) de la ruta comodín

module.exports.routes = {
  'GET /foo/*': {
     fn: function(req, res) {
       res.send("FOO!");
     },
     skipAssets: true
  },
};

Rutas con RegEx

module.exports.routes = {
    // sends matching regex (few patterns) as 'page' param
    'r|/foo/([0-9]+)|page': 'FooController.get',
    'r|/foo/(.*)|page': 'FooController.get',
    'r|/foo/(\\w+)|page': 'FooController.get'
};

Babosas URL

module.exports.routes = {
  'GET /blog/:year/:month/:day/:posttitle/': 'BlogController.showPost',
  'GET /blog/:year/:month/:day/': 'BlogController.showDayArchive',
  'GET /blog/:year/:month/': 'BlogController.showMonthArchive',
  'GET /blog/:year/': 'BlogController.showYearArchive',
};

Se puede acceder a los parámetros pasados ​​en la URL en las acciones del controlador correspondiente utilizando req.param('year') , req.param('month') etc.

Por ejemplo, una solicitud GET para /blog/2016/08/ BlogController.showMonthArchive /blog/2016/08/ desencadena la acción del controlador BlogController.showMonthArchive , con req.param('year') tiene el valor 2016 y req.param('month') con el valor 08 .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow