Comments (6)
What is the response sent back from the API? The only way you could get this error is if the response body would be true
:
json = MultiJson.load('true')
json.delete(:errors) # raises NoMethodError: undefined method `delete' for true:TrueClass
I actually wanted to implement some kind of check for this over the weekend to make sure this error doesn’t happen because I thought that only objects or arrays could be sent back from MultiJson.load
. But it looks like simple values like true
or "foo"
are actually valid JSON data.
Anyway, making the endpoint called by #destroy
return something like {}
for now should do the trick for now. But I’ll come up with something better soon.
from her.
FWIW, I just pushed a commit in master (30584da) that should provide a better error message when encountering this problem. Will be part of the next release.
from her.
You're right, the response is true
Is there a best practice how such a response message should look like?
from her.
By default, if the server returns an empty hash ({}
or { "model_name": {} }
, depending on whether you’re using the parse_root_in_json
setting), it will keep the model attributes intact and just mark it as destroyed (calling #destroyed?
on it will return true).
In my opinion, a good practice would be to return an empty response and send it using the 204 No Content
HTTP header. Her will behave the same way as described above.
from her.
I’m going to close this issue now. Please let me know if you have further questions!
from her.
Sorry, but I haven't got time yet to test it. But the case is clear to me and I will change the response messages. Thanks for your work and help!
from her.
Related Issues (20)
- path_prefix option is not used when belongs_to association is set. HOT 5
- add ability to wrap "where" clause HOT 4
- Support for first, limit, group and order HOT 6
- Support for update_attributes missing? HOT 6
- Support for association extensions HOT 1
- undefined method `map' for nil:NilClass for association HOT 6
- Class-level response parsing? HOT 1
- Scopes on JsonApi model
- Find or Create by ID HOT 2
- Have we considered making this gem more SEO friendly? HOT 4
- Attributes don't play nicely with ActiveModel::Dirty in Rails 6
- Safe Navigation Operator &. don't works on nil objects
- I would like to have find_by! in order to raise an exception instead of a nil HOT 1
- HashWithIndifferentUsage is slow, and requires large ActiveSupport dependency
- ruby 2.7, rails 6.0 and faraday 1.0 HOT 3
- Release version 1.1.1 HOT 1
- her-rb.org website inaccessible. HOT 1
- Organizing a fork of her HOT 1
- Execute rescue_from plus her? HOT 1
- Model.all returns empty array, but response has data HOT 1
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 her.