2017-02-27 5 views
0

クリックをトリガーするユーザーがいるかどうかを調べる必要があります。イベントには確認済みのメールがあります。 「真」の場合、彼は別のページにリダイレクトされるべきであり、そこではサーバ側の方法を呼び出すことができる。 「偽」の場合は、ページにリダイレクトして、ボタンをクリックして新しい確認リンクを再送信することができます。Meteor/Mongo - ユーザーが確認済みのメールアドレスを持っていて、リダイレクトされていることを確認してください

私は他の質問で見つけたいくつかの機能を使用しようとしましたが、機能しませんでした...ここに私のコードがあります。イベントとifがうまくいかない関数:

"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'); 
    } 
    }); 

問題は起こりません。 emails [0] .verifiedフィールドのブール値を 'true'または 'false'に変更してもユーザーはリダイレクトされません(何も起こりません)が、エラーコードも表示されません。

したがって、私はこの問題がif(...(0)。メールが確認されているかどうかを調べる別の方法はありますか?

誰かを助けることができたらうれしいです。 ありがとう!

答えて

1

this.userIdをクライアントで使用することはできません。サーバー側でのみ動作します。試してみてくださいMeteor.userId()

+0

笑、あなたは絶対に正しいです。私はちょうど 'this.userId'なしでそれをやったんだけど今は動く...たぶん、これは何も分からなかった。ユーザーIDは実際には...あなたは私にそれを説明してもらえますか?しかし、ありがとう。 – Jaybruh

+1

これは詳細を確認できます:http://stackoverflow.com/a/32805299/6172040 –

関連する問題