2015-07-15 3 views
0

Я пытаюсь отправить динамический URL-адрес с помощью шаблона. Я хочу направить пользователей на определенную ссылку, но я не уверен, как это сделать динамически? Я могу просто скопировать URL-адрес, но предпочитаю использовать динамические URL-адреса в случае внесения изменений в будущем.Meteor Отправка динамических URL-адресов по электронной почте

вот что у меня есть, я понимаю, что пытается сохранить переменную URL-адрес, как этот

URL: "{{pathFor 'добро'}}"

довольно тупой, но я не могу понять, как это сделать. Любая помощь приветствуется! Это то, что у меня есть:

var dataContext = { 
     message: "To set up your profile follow the link", 
     url: "{{pathFor 'welcome'}}", 
     hyperlinkText: "Get Started", 
     title: "Welcome to site!" 
    }; 


    var html = Blaze.toHTMLWithData(Template.emailTemplate, dataContext); 
    var from = "[email protected]"; 
    var to = currentUser.emails[0].address; 
    var subject = "Welcome to site"; 

    Meteor.call("sendEmail", to, from, subject, html); 

ответ

1

В JavaScript просто оценить Router.path(pathName), чтобы получить путь. Вы можете получить базовый путь с Meteor.absoluteUrl(). Обратите внимание, что первая будет включать в себя ведущую/в то время как последняя включает трейлинг /, поэтому вам нужно будет удалить ее. Пример:

function dynamicPath(pathName){ 
    return Meteor.absoluteUrl() + Router.path(pathName).substr(1); 
} 
+0

Чтобы просто получить URL-адрес маршрута, вы можете просто вызвать 'Router.url (...)' вместо 'Router.path (...)'. Существует также помощник, чтобы сделать это в шаблоне: '{{urlFor ...}}' вместо '{{pathFor ...}}'. Обратите внимание, что ваш код не очень безопасен ... от клиента, любой может отправлять электронные письма с вашей платформы кому угодно! – yoh

+0

Это проще, спасибо за обмен. –

Смежные вопросы