流星通过电子邮件发送动态网址

Meteor Sending dynamic urls through email

我正在尝试使用模板发送动态 url。我想将用户定向到特定的 link,但我不确定如何动态地做到这一点?我可以对 url 进行硬编码,但我更愿意使用动态 urls 以防我将来进行更改。

这就是我所拥有的,我意识到尝试像这样存储一个 url 变量

url: "{{pathFor 'welcome'}}"

非常愚蠢,但我不知道该怎么做。任何帮助表示赞赏!这是我的:

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 = "myemail@mysite.com";
    var to = currentUser.emails[0].address;
    var subject = "Welcome to site";

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

在 javascript 中只需计算 Router.path(pathName) 即可获取路径。您可以使用 Meteor.absoluteUrl() 获取基本路径。请注意,前者将包含前导 / 而后者包含尾随 /,因此您需要删除一个。例如:

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