MEAN Angular up-voting 函数抛出禁止消息

MEAN Angular up-voting function throwing forbidden message

我想做的是创建一个应用程序,用户可以在其中 post 项目,其他人可以对项目进行投票,类似于 Reddit 等

我遇到的问题是,当一个用户对另一个用户 post 编辑的项目进行投票时,他们会收到禁止消息。

我该怎么做才能让一个用户可以修改另一个用户项目的投票数。

这是商品的模型

    var ItemSchema = new Schema({
    title: {
        type: String,
        default: 'NA',
        required: 'Please fill Item title',
        trim: true
    },
    link: {
        type: String,
        required: 'Please fill Item URL',
        trim: true
    },
    details: {
        type: String,
        default: 'NA',
        required: 'Please fill Item Details',
        trim: true
    },
    votes: {
        type: Number,
        default: '0'
    },
    voters: [{
        type: Schema.ObjectId,
        ref: 'User'
    }],
    created: {
        type: Date,
        default: Date.now
    },
    user: {
        type: Schema.ObjectId,
        ref: 'User'
    }

});

所以一个用户应该能够增加另一个用户项目的赞成票。

路线

      // Items collection routes
  app.route('/items').all(itemsPolicy.isAllowed)
      .get(items.list)
      .post(items.create);

  app.route('/items/itemCount').all()
      .get(items.countitems);

  app.route('/items/itemCountToday').all()
      .get(items.countitemsToday);


  // Single item routes
  app.route('/items/:itemId').all(itemsPolicy.isAllowed)
      .get(items.read)
      .put(items.update)
      .delete(items.delete);

点赞功能

$scope.upVoteHome = function(item) {
        item.votes++;
        item.$update(function() {
            //$location.path('items/' + item._id);
        }, function(errorResponse) {
            // rollback votes on fail also
            $scope.error = errorResponse.data.message;
        });
    };

按钮

<button ng-show="authentication.user" ng-click="upVoteHome(item)" type="button"
 class="btn btn-danger vote-up-button"><i class="glyphicon glyphicon-arrow-up"></i> Hot</button>

在路由策略中添加一个'put'权限

  {
    roles: ['user'],
    allows: [{
      resources: '/deals',
      permissions: ['get', 'post', 'put']
    }, {
      resources: '/deals/:dealId',
      permissions: ['get', 'put']
    }]
  }