Docs: add troubleshooting section on Backbone/Skeletor "url" property error
This commit is contained in:
parent
395aa8cb95
commit
a42390c91f
@ -114,3 +114,28 @@ what you're using as the HTTP file server.
|
|||||||
CORS is enabled by adding an ``Access-Control-Allow-Origin`` header, so you'll
|
CORS is enabled by adding an ``Access-Control-Allow-Origin`` header, so you'll
|
||||||
have to configure your file server to add this header.
|
have to configure your file server to add this header.
|
||||||
|
|
||||||
|
|
||||||
|
Common errors
|
||||||
|
=============
|
||||||
|
|
||||||
|
Error: A "url" property or function must be specified
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
That's a relatively generic `Skeletor <https://github.com/conversejs/skeletor>`_ (or `Backbone <http://backbonejs.org/>_`)
|
||||||
|
error and by itself it usually doesn't give enough information to know how to fix the underlying issue.
|
||||||
|
|
||||||
|
Generally, this error happens when a Model is being persisted (e.g. when model.save() is called,
|
||||||
|
but there is no information specifying where/how it should be persisted.
|
||||||
|
|
||||||
|
The Converse models are persisted to browser storage (e.g. sessionStorage, localStorage or IndexedDB),
|
||||||
|
and this happens by adding a browserStorage attribute on the model, or on the collection containing the model.
|
||||||
|
|
||||||
|
See for example here: https://github.com/conversejs/converse.js/blob/395aa8cb959bbb7e26472ed3356160c8044be081/src/headless/converse-chat.js#L359
|
||||||
|
|
||||||
|
If this error occurs, it means that a model being persisted doesn't have the ``browserStorage`` attribute,
|
||||||
|
and it's containing collection (if there is one) also doesn't have that attribute.
|
||||||
|
|
||||||
|
This usually happens when a model has been removed from a collection, and then ``.save()`` is called on it.
|
||||||
|
|
||||||
|
In the context of Converse it might mean that there's an attempt to persist data before all models have been properly initialized,
|
||||||
|
or conversely after models have been removed from their containing collections.
|
||||||
|
Loading…
Reference in New Issue
Block a user