Pretty Urls с Iron Router и дружественным пакетом слизней

Я не могу понять, как выводить правильные данные с помощью этого симпатичного пакета, любая помощь будет принята с благодарностью.

Я использую следующий пакет из атмосферы в Метеоре. https://atmospherejs.com/todda00/friendly-slugs

У меня есть отправка формы, которая отправляет представление в коллекцию и перенаправляет страницу на "works/titleOfPost"

Я использую дружественное оформление пули, чтобы соединиться с моей коллекцией. Вот этот код.

Works = new Mongo.Collection('works');
Works.friendlySlugs(
  {
    slugFrom: 'jobTitle',
    slugField: 'slug',
    debug : true
  }
);

Вот куда мне отправляет отправка формы, похоже, это работает, так как URL-адрес получается правильным.

 Router.go('works', {slug: event.jobTitle});  

Вот где я думаю, проблема в моем роутере.

Router.map( function () {


    this.route("/works/:slug", {
      name: 'works',
      waitOn: function() {
        return this.subscribe('works', this.params.slug);
      },
      data: function() {
        return Works.findOne({
          slug: this.params.slug
        });
      }
    });
  }

Это отладка в консоли.

friendlySlugs DEBUG: = Begin runSlug
todda00_friendly-slugs.js:314 friendlySlugs DEBUG: Options↓
todda00_friendly-slugs.js:315 Object
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: Modifier= false
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: Create= false
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: Slugging From= lkfjsalkfjdakl
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: SlugBase before reduction= lkfjsalkfjdakl
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: SlugBase after reduction= lkfjsalkfjdakl
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: Highest indexed base found= undefined
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: finalSlug= lkfjsalkfjdakl
todda00_friendly-slugs.js:317 friendlySlugs DEBUG: = Set to update
todda00_friendly-slugs.js:314 friendlySlugs DEBUG: Final Doc↓
todda00_friendly-slugs.js:315 Objectauthor: "bob"clientName: "dflkasl;fkjasfklj"companyName: "ksldfjalkjfdkl;"friendlySlugs: ObjectheroImg: "/cfs/files/ImagesHero/x55bsAaYrAB6aJriC/Screen Shot 2015-09-11 at 11.13.02 AM.png?token=eyJhdXRoVG9rZW4iOiJsX0JueUFMQXFhOHJTSlIzZE9KU1MzM2x4dm92ZmprQ2lEY1JqWUlhNU1pIn0%3D"jobText: "<p>dfasfsafas</p>"jobTitle: "lkfjsalkfjdakl"logoImg: "/cfs/files/Images/eqjmnZtdzg6zEMm3v/acorn.gif?token=eyJhdXRoVG9rZW4iOiJsX0JueUFMQXFhOHJTSlIzZE9KU1MzM2x4dm92ZmprQ2lEY1JqWUlhNU1pIn0%3D"slug: "lkfjsalkfjdakl"submitted: Mon Sep 14 2015 15:15:36 GMT-0700 (PDT)userId: "es6YC98DdFvbrZGbW"__proto__: Object

Это моя коллекция данных

{
  "_id": "TZnxLmmxcupEuW6o6",
  "clientName": "dflkasl;fkjasfklj",
  "companyName": "ksldfjalkjfdkl;",
  "logoImg": "/cfs/files/Images/eqjmnZtdzg6zEMm3v/acorn.gif?token=eyJhdXRoVG9rZW4iOiJsX0JueUFMQXFhOHJTSlIzZE9KU1MzM2x4dm92ZmprQ2lEY1JqWUlhNU1pIn0%3D",
  "jobTitle": "lkfjsalkfjdakl",
  "jobText": "<p>dfasfsafas</p>",
  "heroImg": "/cfs/files/ImagesHero/x55bsAaYrAB6aJriC/Screen Shot 2015-09-11 at 11.13.02 AM.png?token=eyJhdXRoVG9rZW4iOiJsX0JueUFMQXFhOHJTSlIzZE9KU1MzM2x4dm92ZmprQ2lEY1JqWUlhNU1pIn0%3D",
  "userId": "es6YC98DdFvbrZGbW",
  "author": "bob",
  "submitted": "2015-09-14T22:15:36.655Z",
  "friendlySlugs": {
    "slug": {
      "base": "lkfjsalkfjdakl",
      "index": 0
    }
  },
  "slug": "lkfjsalkfjdakl"
}

1 ответ

Вместо использования jobTitle в вызове Router.go, вы должны использовать слаг, вот так:

Router.go('works', {slug: event.slug});

Кроме того, я не вижу ваш метод публикации, поэтому убедитесь, что вы принимаете параметр slug и находите документ с {slug:slug} вместо самого названия.

Другие вопросы по тегам