Comments (9)
Does record.destroy()
work?
Do you think you would be able to send a PR with a failing spec? There are many there already in which you can mirror.
from ember-localstorage-adapter.
I don't know if i am right but on seeing code of local_adapter.js I find that deleteRecord doesnt deal with serialization whereas update and create do.Maybe thats why error is creeping.
Here is snippet of code:
createRecord: function (store, type, record) {
var namespaceRecords = this._namespaceForType(type),
recordHash = record.serialize({includeId: true});
namespaceRecords.records[recordHash.id] = recordHash;
this.persistData(type, namespaceRecords);
return Ember.RSVP.resolve();
},
updateRecord: function (store, type, record) {
var namespaceRecords = this._namespaceForType(type),
id = record.get('id');
namespaceRecords.records[id] = record.serialize({ includeId: true });
this.persistData(type, namespaceRecords);
return Ember.RSVP.resolve();
},
deleteRecord: function (store, type, record) {
var namespaceRecords = this._namespaceForType(type),
id = record.get('id');
delete namespaceRecords.records[id];
this.persistData(type, namespaceRecords);
return Ember.RSVP.resolve();
}
from ember-localstorage-adapter.
Any views on this problem??
from ember-localstorage-adapter.
@oblongta I'm not working on any project using LS right now, but I can review code help with what I can do.
Do you think you would be able to send a PR with a failing spec? There are many there already in which you can mirror.
That way I could take a quick look and debug fast.
from ember-localstorage-adapter.
Most frameworks have special commands to handle deletion of relationship records, such as belongsTo and hasMany. Ember Data generally does not handle these cases and you seem to have to delete everything you want deleted. So if you want to delete, say an employee, from a company, where company hasMany employees. Then I assume the way is to first remove the employee from the company through something like this:
var employee = this.get('model');
var company = employee.get('company');
company.get('employees').removeObject(employee);
company.save();
employee.deleteRecord();
employee.save();
This should delete the employee for good.
from ember-localstorage-adapter.
@oblongta can we close this?
from ember-localstorage-adapter.
I'm using LS with ember data 1.0.0 beta 8.
lets take the employee and company example, when I load all the records from LS, then following will delete both employee and also its relation in company:
var employee = this.get('model');
var company = employee.get('company');
employee.deleteRecord();
employee.save().then(function(){
company.save();
});
however when the record for employee is just created on the same session (and is added to company.employees
using addObject
, that code does remove the employee record but NOT the relation in company.
I'm not an ember profi so I cant say if this is a ember data problem that does not maintain the relation for newly created records or is it from LS.
however the code @bjarkehs provided always does the right job.
from ember-localstorage-adapter.
@mohamnag That's an ember data issue. I ran into the same problem using the DS.ActiveModelAdapter. Thankfully I found this thread and another one that further describes the issue. emberjs/data#1303
from ember-localstorage-adapter.
I also believe this to be an Ember Data problem and thus not specific to LSA.
from ember-localstorage-adapter.
Related Issues (20)
- Checkout project and run tests: 47 tests. 2 passed, 45 failed HOT 4
- findAll returns empty array always HOT 2
- store.find('model-type', { prop: value} ) no longer working in 0.5.4 HOT 6
- Uncaught TypeError: Cannot read property 'typeKey' of undefined HOT 4
- support for > Ember Data 1.0.beta.16 HOT 6
- unloadAll() doesnt work HOT 2
- New Release HOT 3
- Are query() queryRecord() supported? HOT 1
- use begin/endPropertyChanges in findMany
- relationships in "new" state should not be pushed to LS
- Ember data 2.3+ does not work with this addon HOT 21
- sessionStorage support HOT 3
- FastBoot-ness
- Relationships to a model using another adapter HOT 1
- Resolve no results instead of rejecting the promise HOT 2
- After a failed .findRecord, it is impossible to create a record with the same id HOT 2
- Unable to fetch with .findAll('user') HOT 1
- Upgrade ember-cli-babel & ember-runtime-enumerable-includes-polyfill to remove deprecation warning HOT 6
- Fix use of deprecated .copy method
- Push new version
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-localstorage-adapter.