vendredi 20 novembre 2015

emberjs findRecord is not implemented

I try to use the Restadapter from emberjs to call my api under 'http://local.ember.api' but I can't get any data. After some respearch I didn't get it working. Here is my code:

I created a file under app/application with the name adapter.js with this code:

import DS from 'ember-data';
import $ from 'jquery';
import config from '../config/environment';

var ApplicationAdapter;
ApplicationAdapter = DS.RESTAdapter.extend({
    host: 'http://local.ember.api',
    namespace: 'api/v1'
});

var ApplicationSerializer;
ApplicationSerializer = DS.RESTSerializer.extend({});

export default ApplicationAdapter;
export default ApplicationSerializer;

and under app/models I have a user.js with this code:

import Ember from 'ember';
import DS from 'ember-data';

var User = DS.Model.extend({});

export default User;

my app/router.js looks like this:

import Ember from 'ember';
import config from './config/environment';

const Router = Ember.Router.extend({
  location: config.locationType
});

Router.map(function() {
  this.route('users');
  this.route('user', {path: '/user/:user_id'});
});

export default Router;

and my app/routes/user.js:

import Ember from 'ember';

export default Ember.Route.extend({
  model: function(params) {
    return this.store.find('user', params.user_id);
  }
});

with this setup I get this error:

Error: Assertion Failed: You tried to find a record but your adapter (for test-app@model:user:) does not implement 'findRecord'

when I create a file under app/services with the name store.js and this code:

import Ember from 'ember';
import DS from 'ember-data';

var Store;
Store = DS.Store.extend({});

export default Store;

I get this error:

Error: Assertion Failed: You tried to find a record but your adapter (for test-app@model:user:) does not implement 'findRecord'

when I create a function with the name 'findRecord' in the store.js-File:

Store = DS.Store.extend({
    findRecord: function() {}
});

I get no result. Where is the mistake?




Aucun commentaire:

Enregistrer un commentaire