The application needs to know the data structure of the JSON objects – the model for it.
I created „Findword“ and „Findwords“ because I found Ember.js requesting both, even though only „Findwords“ is specified
I first assumed it’s a good way to have the „:phrase“ attached to the path, but found out later that when searching … URL parameters are more convenient.

The controller has a property „searchResult“, which you find above in the HTML file. It provides the search result.
As soon as something is entered in the input field, the method loadData is fired, filling the search result.

Notes:

find() makes an ajax call but only returns one item from the list – if an id is specified.

findAll() does not accept parameters

filter() does not make an ajax call

Returning the promise of a find(type,id) call directly, results in an error telling #each cannot iterate over a Promise, but expects an array.

find() is the way to go, but only with parameters in form of an object.

That’s basically it.

I had some trouble debugging the „#each/Promise“ issue and landed at an also working solution. It indirectly fills the „searchResult“ with objects from the promise. That could maybe serve in other cases, so here it comes: