2017-02-27 54 views
0

我需要找出觸發點擊的用戶。活動有一個驗證郵件。如果「真」,他應該被重定向到另一個頁面,在那裏他可以調用服務器端方法。如果「錯誤」,他應該重定向到一個頁面,在那裏他可以點擊一個按鈕來重新發送一個新的驗證鏈接給他。Meteor/Mongo - 檢查用戶是否有經過驗證的電子郵件地址並重定向他

我試圖使用其他問題中發現的一些函數,但它沒有工作...這是我的代碼點擊。事件和如果功能不能解決:

"click. event": function(e){ 
    e.preventDefault(); 
    if (this.userId && Meteor.user().emails[0].verified) 
    { 
    Router.go('LinkToCallTheMethod'); 
    }; else 
    { 
    console.log('Please verify email first'); 
    Router.go('LinkToResentVerificationLink'); 
    } 
    }); 

問題是沒有任何反應。即使將電子郵件[0] .verified字段中的布爾值更改爲'true'或'false'(沒關係,沒有任何反應),用戶仍未重定向,但我也沒有收到任何錯誤代碼。因此,我認爲問題是在if(... & & Meteor.user()。emails [0] .verified)。是否有另一種方法來查明電子郵件是否被驗證?

如果有人能幫忙,會很高興。 謝謝!

回答

1

您不能在客戶端上使用this.userId。它只適用於服務器端。嘗試使用Meteor.userId()

+0

大聲笑,你是絕對正確的。我只是做了沒有'this.userId',現在它的工作原理...也許我只是沒有得到'this.userId'實際上做了什麼......你能解釋給我嗎?但是,謝謝。 – Jaybruh

+1

您可以查看以下詳細信息:http://stackoverflow.com/a/32805299/6172040 –

相關問題