Encountered "categories" in payload, but no model was found for model name "category"


#1

Hi i get this error “Encountered “categories” in payload, but no model was found for model name “category””

Data I get from the API:-

{
	"categories": [{
		"id": 6737,
		"category_id": 1,
		"product_id": 3954,
		"product": {
			"id": 3954,
			"seller_id": null,
			"sku": "UN1185",
			"product": "Party",
			"description2": "Disclaimer: ",
			"mrp": 795,
			"price": 1499,
			"off": "75",
			"stock": 1,
			"total_products": 5,
			"catalogType": null,
			"weight": "1",
			"delivered_in": null,
			"chart_id": null,
			"stitching": 0,
			"seo_title": "Buy Now Party wear Light Peach Khadi Art Silk Plain Saree",
			"seo_description": "Shop",
			"keyword": "saree",
			"position": 1503,
			"status": 1,
			"product_images": [{
				"product_id": 3954,
				"url": "UN1185.jpg"
			}]
		}
	}, {
		"id": 6735,
		"category_id": 1,
		"product_id": 3953,
		"product": {
			"id": 3953,
			"seller_id": null,
			"sku": "UN1933",
			"product": "Party wear Pink Khadi Art Silk Plain Saree",
			"slug": "party-wear-pink-khadi-art-silk-plain-saree-un1933",
			"description": "Party wear Pink Khad..",
			"description2": "Disclaimer",
			"mrp": 795,
			"price": 1499,
			"off": "75",
			"stock": 1,
			"total_products": 4,
			"catalogType": null,
			"weight": "1",
			"delivered_in": null,
			"chart_id": null,
			"stitching": 0,
			"seo_title": "Buy Now Party",
			"seo_keyword": "saree",
			"keyword": "saree ",
			"position": 1503,
			"status": 1,
			"product_images": [{
				"product_id": 3953,
				"url": "UN1933.jpg"
			}]
		}
	}],
	"paging": {
		"prevPage": false,
		"nextPage": true,
		"currentPage": 1,
		"resultCount": 22
	}
}

My categories.js serializer

import DS from 'ember-data';

export default DS.RESTSerializer.extend({
    normalizeResponse(store, primaryModelClass, payload, id, requestType) {
        //console.log(payload.categories);
        payload = {
            categories: payload.categories
        };

        //console.log(payload);
        return this._super(store, primaryModelClass, payload, id, requestType);
    }
});

When I View categories page i get bellow warning and did not print any data

WARNING: Encountered "categories" in payload, but no model was found for model name "category" (resolved model name using (unknown mixin).modelNameFromPayloadKey("categories"))


#2

What does your ‘category’ model look like?


#3

Oh wait… if you have a ‘categories’ serializer I’m guessing you also named your model ‘categories’. Ember does automagic inflection matching. So basically all model names should be singular. So I would change your model/serializer name to ‘category’.


#4

Thanks for your reply. It’s very helpful :slight_smile:


#5

I should also note that Ember is smart enough to change the request URLs for you, so if your model name is “category” but you make a findAll request it will hit ‘/categories’ or if you do a findRecord it will hit ‘/categories/:id’ by default.