Ответы пользователя по тегу Ember.js
  • Как подружить DRF и Ember.JS?

    Astralet
    @Astralet
    Javascript / Ember.js / Laravel
    Как раз этот плагин/фреймворк django-rest-framework-json-api и отдает нужный формат для JSONAPIAdaper-а Эмбера.
    Вот примеры ответов валидного JSON API сервера - jsonapi.org/examples. И сравните с ответами django-rest-framework-json-api.
    А ответы сервера вида:
    {
      "posts": [
        {
          "id": 1,
          "title": "I'm Running to Reform the W3C's Tag",
          "author": "Yehuda Katz"
        },
        {
          "id": 2,
          "title": "Rails is omakase",
          "author": "D2H"
        }
      ]
    }

    - это под RESTAPIAdapter.
    И по поводу 4-го вопроса - просто пропишите в роутинге Джанги переход на главную страницу (со скриптами Ембера) с любых адресов, кроме API-шных. И все.
    Ответ написан
  • Как в Emberjs запушить объект в массив без использования hasMany?

    Astralet
    @Astralet
    Javascript / Ember.js / Laravel
    Так по умолчанию вроде сериалайзер Ember-Data должен при сохранении hasMany-отношения как раз передавать массив id моделей.
    Либо перепишите под свои требования DS.RESTSerializer ( или JSONSerializer - в зависимости чем грузите данные). В нем метод serializeHasMany. Там уже логику сохранения можно описать какую угодно.
    Вот кусок из моего кода.
    serializeHasMany: function(snapshot, json, relationship) {
        var key = relationship.key;
        var isPoly = relationship.options.polymorphic;
        if (key === 'attaches') {
        	var hasMany = snapshot.hasMany(key);
        	var result = [];
        	hasMany.forEach(function(item) {
        		result.push({id: item.id, type: item.modelName}); //вот здесь я формирую структуру для полиморфного отношения, для отправки на сервер
        	});
        	json[key] = result;
          return json;
        } else {
          this._super.apply(this, arguments);
        }
      }
    Ответ написан
    Комментировать
  • Почему не любят Ember.JS?

    Astralet
    @Astralet
    Javascript / Ember.js / Laravel
    На счет любят - нелюбят, это все относительно. Соглашусь, что документации на русском по Эмберу маловато. Есть пара ресурсов хороших, а остальное разбросанно по форумам и т.п. Да и видео на русском тоже на пальцах сосчитать. 3 месяца назад при выборе фреймворка под SPA (довольно крупный ресурс, с большим количеством реалтайм-обновлений, API и т.д.) я на неделю завис. Слишком уж много их всяких-разных налепили в последне время. ) Но почему-то при первом взгляде на структуру и код Эмбер показался сразу родным. Та же история была с Ларавелем ранее. Да, на понимание его философии потратил пару недель, но потом все пошло как по маслу. Практически весь функционал, который мне нужен в проекте реализовался без особых проблем. В англоязычном инете находил ответы на 90% возникающих вопросов. До остального доходил сам. API у них сейчас здорово документированно. И судя по результату, в выборе фреймворка я не ошибся. Бенчмарки тоже не всегда актуальны. Так как не все зависит от инструментов, но и от кривизны или прямоты рук.
    В любом случае, пока не попробуешь любой инструмент, не поймешь - подходит он тебе или нет. Кто-бы что-бы не писал.
    Ответ написан
    Комментировать