0

I can't figure out how to output the right data with this pretty slug package, any help would be greatly appreciated.

I am using the following package from atmosphere in Meteor. https://atmospherejs.com/todda00/friendly-slugs

I have a form submission, that sends the submission to a collection, and routes the page to 'works/titleOfPost'

I am using the friendly slug decleration to connect to my collection. HEre is that code.

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

Here is where my form submission sends me, this seems to be working for the url comes out correct.

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

This is where I think the problem lies, in my router.

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
        });
      }
    });
  }

This is the debug in the console.

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

This is my collection data

{
  "_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"
}
Anders Kitson
  • 1,413
  • 6
  • 38
  • 98

1 Answers1

0

Instead of using the jobTitle in the Router.go call, you should use the slug, like so:

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

Also, I can't see your publish method, so make sure you are accepting the slug parameter and finding the document with {slug:slug} instead of the title itself.