Я пытался отлаживать часами проблему правил Firebase и задавался вопросом, есть ли что-то более доступное.
Моя проблема в том, что я сохраняю firebaseObject
с $save
(или создаю с $add
) и получаю разрешение, запрещенное из-за моих правил. Тем не менее, как правила, так и объект довольно сложны, и существуют десятки правил, которые задействованы. В моем симуляторе, я думаю, что я получил все, но все же получить разрешение отказано.
Проблема в том, что я не уверен на 100%, как данные JSON действительно выглядят, какие $save
пытается отправить в Firebase. Если я использую обычный console.log(myObject)
, я получаю, конечно, список всех значений и функций внутри этого объекта, но это не то же самое, что и ожидаемый необработанный JSON (например, { "name": "value" }
).
Есть ли какой-либо способ отображения фактических данных JSON в реальном времени? $save
отправляет для копирования в симулятор правил и отладки? Или есть ли другой способ узнать, какое точное разрешение отклонено?
В противном случае, я должен идти один за другим, отключая свои разрешения и на котором будет довольно длинная ночь для меня. :(
Еще раз спасибо, вы помогли мне уже в другой теме несколько дней назад. С вашим кодом это стало намного проще. Теперь вывод консоли выглядит примерно так: '{" categoryId ":" - KU8JfAZRCsPJy9uOMqm "," choice ": [{" id ":" choice1 "," option ":" Option 1 "," option_price ": - 2, $$ hashKey ":" object: 189 "}, {" id ":" choice2 "," option ":" Option 2 "," option_price ": 2," $$ hashKey ":" object: 190 "}, { «id»: «choice3», «option»: «Option 3», «option_price»: 5, «$$ hashKey»: «object: 191»}]} '- это любой способ настроить его так, чтобы все $$ hashkeys также отфильтровываются? Тогда результат будет идеально подходит для симулятора. – Oliver
Я обновил ответ. – cartant
Ты гений! Это работает отлично. Еще раз спасибо, это будет постоянной функцией в моей библиотеке. Подобным образом стало намного легче отлаживать большие $ save и $ add процессы. – Oliver