У меня есть пользователи, которые входят в приложение Meteor через Twitter. Я хотел бы создать для них маршрут страницы профиля с помощью Iron Router, который ссылается на их имя экрана Twitter.
Я не могу понять, что должно заменить часть :slug
кода Iron Router ниже (в моем документе user
нет свойства slug
).
this.route('expertPage', {
path: '/profile/:slug',
data: function() { return Meteor.users.findOne({"services.twitter.screenName": this.params.slug}); }
});
slug
. Это говорит о том, что нужно найти пользовательский документ, свойствоservices.twitter.screenName
которого эквивалентно параметруslug
, указанному в URL-адресе. Slug — это просто термин, означающий ключевое слово, удобное для URL, то есть некоторая строка, которая содержит только буквы, цифры, дефисы и символы подчеркивания. - person sbking   schedule 14.02.2014slug
это мой собственный выбор слова. С таким же успехом может бытьbanana
или что-нибудь случайное. Указание браузеру наlocalhost:3000/profile/cavill
работает, но я хочу иметь возможность использовать{{pathFor 'userProfile'}}
в своих шаблонах (чего я сейчас не могу). - person cavill   schedule 14.02.2014{{#with slug}}{{pathFor "userProfile"}}{{/with}}
, а затем добавить помощника, такого какTemplate.someTemplate.slug = function() { return {slug: this.user.services.twitter.screenName}; };
- person sbking   schedule 14.02.2014