0

我试图摆脱将新条目发布到 angularfire 数组时出现的错误。该数组保存报告,该数组应该可以写入,但不能读取。我的规则如下:

  "reports":{
      ".write":"(auth != null)",
     "$report_id":{
        //".write":"(auth != null)",// << commented out part
        ".validate":"!data.exists() && newData.exists() && newData.hasChildren(['reason', 'reportedUser', 'reportingUser', 'time'])",
        "reason":{
           ".validate":"newData.isString() && newData.val().length < 100"
        },
        "reportedUser":{
           ".validate":"newData.isString() && newData.val().length < 30"
        },
        "reportingUser":{
           ".validate":"auth.uid === newData.val()"
        },
        "time":{
           ".validate":"newData.val() <= now"
        },
        "$other":{
           ".validate":false
        }
     }
  }

我正在从一个函数中调用对该数组的写入,其内容如下:

        var reportsArray = $firebaseArray(new Firebase(FBaseURL + "/reports/"));        

        reportsArray.$add(reportData)
            .then(function(ref) {
                console.log('user reported');
            })
            .catch(function(error) {
                console.log("Error:", error);
            });

无论我在规则中注释掉哪个写入规则(也取消注释另一个),写入是成功的,但是变量的创建会reportsArray出现如下错误Error: permission_denied: Client doesn't have permission to access the desired data.在这里最好做什么,忽略错误还是我做错了什么?

4

0 回答 0