在Meteor中,我有一个产品编辑页面。我只希望创建产品的用户看到该页面。否则,您将被重定向。

有没有办法仅使用铁路由器来进行此重定向?
如果没有,我将采取任何解决方案。

router.js

var OnBeforeActions;
OnBeforeActions = {
    ownerRequired: function(pause){
      if(!Meteor.userId()){
        Router.go('home');
      }else if(Meteor.userId()._id != ....SOMETHING?....){
        Router.go('home');
      }else{
        this.next();
      }
    }
};

Router.onBeforeAction(OnBeforeActions.ownerRequired, {
    only: ['editProduct']
});


Router.route('/editProduct/:_id',{
  template: "editProduct",
  name: "editProduct",
  data: function(){
    return Products.findOne({_id: this.params._id});
  }
});

最佳答案

因此,如果您想知道如何在不使用铁路由器的情况下解决此问题。你可以做这样的事情。 (请注意,如果用户已登录,我已经使用onBeforeAction进行了检查。)

Template.editProduct.onCreated(function(){
    if(this.data.user === Meteor.userId()){
    }else{
        Router.go('home');
    }
});

关于javascript - meteor :如果用户未创建页面则重定向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34821227/

10-09 17:35
查看更多