Я занят после this Учебник Ember.js, но я пытаюсь реализовать его, используя способ Ember 2.0 делать вещи (модули, используя Ember CLI и ember-cli-rails
драгоценный камень). Это довольно сложно, поскольку ни один из руководств Ember не следует этим соглашениям.Не удается получить Rails API REST для работы с Ember.js
В соответствии с учебным пособием я использую Rails в качестве JSON API, и похоже, что все работает так, как должно, с точки зрения обслуживания правильных ответов JSON. Проблема в том, что я не могу заставить мою модель leads
работать.
Я получаю ошибку TypeError: Cannot read property 'typeKey' of undefined
от ember.debug.js
. Я также получаю ошибку undefined is not a function
из ember.adapter.js
Моего проекта выглядит следующим образом:
приложения/store.js
import DS from 'ember-data';
export default DS.RESTAdapter.reopen({
url: 'https://localhost:3000',
namespace: 'api/1'
});
приложения/router.js
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.resource('leads', { path: '/' });
});
export default Router;
приложение/адаптеры/application.js
import DS from "ember-data";
var ApplicationAdapter = DS.ActiveModelAdapter.extend({
host: 'http://localhost:3000',
namespace: 'api/v1'
});
export default ApplicationAdapter;
приложение/модели/lead.js
import DS from 'ember-data';
export default DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
email: DS.attr('string'),
phone: DS.attr('string'),
status: DS.attr('string', { defaultValue: 'new' }),
notes: DS.attr('string'),
});
приложение/маршруты/leads.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() { return this.store.find('lead') }
});
Я не вижу каких-либо HTTP-запросы делаются для Rails, поэтому я предполагаю, что он ломается даже перед попыткой использовать API. Кто-нибудь может указать, что я здесь делаю неправильно?
Вы видите что-нибудь в консоли своего браузера? – Kalman
Yup - третий абзац сверху перечисляет две ошибки, которые я получаю на консоли Chrome. –
Насколько я вижу, нет ничего плохого в этом коде. Можете ли вы воссоздать проблему в скрипке? Кстати, почему вы снова открываете RESTAdapter? Это опасно. –