【问题标题】:Change Meteor email validation link and route更改 Meteor 电子邮件验证链接和路由
【发布时间】:2014-05-15 15:57:24
【问题描述】:

当 Meteor 发送包含验证帐户链接的电子邮件时,链接如下所示:
"//localhost:3000/#/verify-email/jOCevGxWbWQfcGL7KAtQ"

如果您单击该链接,它会将该帐户验证为魅力,但它会将用户发送到“ROOT”模板。
我想改变这条路线。单击验证链接必须将用户路由到另一个页面,另一个然后是根路由 ('/')。

我已尝试更改链接以添加新模板:
"//localhost:3000/template/#/verify-email/jOCevGxWbWQfcGL7KAtQ"
...并且它可以部分工作。
它完美地验证了帐户并将用户路由到正确的模板......但是这个解决方案破坏了这个“模板”中的所有图像。
我该怎么办?

【问题讨论】:

    标签: validation email hyperlink meteor account


    【解决方案1】:

    听起来你明白了,但我会放弃另一个选择。要更改 URL,您可以执行以下操作:

    Accounts.urls.verifyEmail = function (token) {
        return Meteor.absoluteUrl('verify-email/'+token);
    };
    

    更好的是,您可以通过更改电子邮件 html 来消除那个可怕的长链接:

    Accounts.emailTemplates.verifyEmail.html = function(user, url) {
        var prettyEmail = "<a href="+url+">Click Me!</a>";
        return prettyEmail;
    };
    

    【讨论】:

      【解决方案2】:

      确保您的图片被正确引用。如果使用相对路径引用您的图像,请改用绝对路径:

      <img src="image.jpg"/> 
      <img src="images/image.jpg"/> 
      

      应该是

      <img src="/image.jpg"/> 
      <img src="/images/image.jpg"/> 
      

      【讨论】:

      • 是的,它们都和你建议的一样。奇怪的是,只有通过我连接的链接(添加模板)访问图像才会损坏,如果您通过正常访问进入该页面,所有图像都很好。
      • 如果您使用 chrome webkit 检查器检查链接并在新窗口中打开它们,您会得到什么?
      • 我理解您的问题,并且图像没问题,除非它通过级联链接显示。我认为我不应该首先简单地连接这个链接。也许有一种方法可以告诉验证引擎,验证后的页面是 X 而不是“/”。感谢您对 Ashat 的帮助。
      【解决方案3】:

      好的,这就是我所做的。
      我已停止连接 url,并在呈现的函数中创建了一个动态链接,以便在电子邮件链接验证时将应用程序路由到我想要的页面。

      感谢 Askhat,您的回答当场正确,因为图像 src 也需要“/”才能工作。

      【讨论】:

        猜你喜欢
        • 2016-02-16
        • 1970-01-01
        • 2019-03-05
        • 2018-02-08
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 2018-12-22
        • 1970-01-01
        相关资源
        最近更新 更多