DS#inject

DS#inject(resourceName, attrs[, options])

Inject the given item into the data store for the specified resource. If attrs is an array, inject each item into the data store. Injecting an item into the data store does not save it to the server. Calls the beforeInject and afterInject hooks. Emits the DS.beforeInject and DS.afterInject events. Any item you inject must have a primary key.

Returns the inject item(s).

👍

You can call DS#inject multiple ways

  • DS#inject(resourceName, attrs[, options])
  • Resource#inject(attrs[, options]) - Where Resource was created by DS#defineResource

Argument

Type

Description

resourceName

string

The name of the resource to use. Unnecessary if calling inject directly on a Resource.

attrs

object or array of objects

Item or items to inject. Any item you inject must have a primary key.

options (optional)

object

Settings are inherited from Resource and Global defaults.

options.onConflict

string

What to do when injecting an item and an item with the same primary key already exists in the store. Default is merge. The other option is replace.

options.notify

boolean

Whether to emit the DS.beforeInject and DS.afterInject events. Default true.

Examples
Document.get(45); // undefined

Document.inject({ title: 'How to Cook', id: 45 });

Document.get(45); // { title: 'How to Cook', id: 45 }

Inject a collection into the data store:

Document.filter(); // [ ]

// See Method Variants section below for different ways to call DS#inject
Document.inject([ { title: 'How to Cook', id: 45 }, { title: 'How to Eat', id: 46 } ]);

Document.filter(); // [ { title: 'How to Cook', id: 45 }, { title: 'How to Eat', id: 46 } ]

📘

Need help?

Want more examples or have a question? Ask on the Slack channel or post on the mailing list then we'll get your question answered and probably update this wiki.