Простые отношения Ember.js

Я новичок в ember.js, и у меня немного возникают проблемы с настройкой отношений между объектами данных Ember. Извините, я не провел комплексную проверку в Google - я все еще настолько новичок в этом, что даже не знаю, что искать.

Я смог понять некоторые основы, используя сценарий кофе и кучу руководств, но теперь я борюсь с некоторыми простыми отношениями. Я хочу иметь несколько групп (когорт), в которых есть несколько человек (бутылки), которые имеют несколько задач, у которых есть описание, либо завершены, либо закончены. На данный момент это все отношения «один ко многим» - на данный момент меня не беспокоят отношения «многие ко многим».

К сожалению, я сбиваюсь с толку в самом начале. Весь мой код можно копировать и вставлять. Я считаю, что мне нужно каким-то образом динамически создать контроллер для ботинок, исходя из того, какая когорта выбрана, или, может быть, мне нужно создать маршрут и настроить контроллер? Я уверен, что это проще, чем нет, но я просто не могу найти много ресурсов в Интернете с моим ограниченным словарным запасом.

Plato.Router.map ->
  this.resource('cohorts', ->
    this.resource('cohort', {path: ':cohort_id'}))

Plato.CohortsRoute = Ember.Route.extend(
  model: ->
    Plato.Cohort.find()
)

Plato.CohortsController = Ember.ArrayController.extend()

Plato.BootsController = Ember.ArrayController.extend()

Plato.Cohort = DS.Model.extend(
  name: DS.attr('string'),
  boots: DS.hasMany('Plato.Boot')
)

Plato.Boot = DS.Model.extend(
  name: DS.attr("string")
  cohort: DS.belongsTo('Plato.Cohort')
)

person cadlac    schedule 16.06.2013    source источник


Ответы (1)


Ваш код пока кажется правильным. Но поскольку вы не предоставили больше подробностей, я попытался воспроизвести вашу ситуацию (предоставив недостающие части), и здесь рабочие результаты в виде jsbin. Попробуйте сравнить свой код с кодом в jsbin, возможно, вы сможете узнать, что не работает. ты.

Надеюсь, поможет

person intuitivepixel    schedule 16.06.2013
comment
Что ж... Я не знаю, что я делал не так, я мог бы поклясться, что пробовал именно это, но несмотря на это, теперь это работает! Спасибо! - person cadlac; 17.06.2013
comment
Спасибо за этот простой ответ @intuitivepixel! Я обнаружил, что у меня немного другой вариант использования, который требует, чтобы отношения хранились только на одной стороне (т.е. Boots хранят, к какой когорте они принадлежат, но Cohorts ничего не хранит о Boots). Я взял ваше решение и создал эту модификацию в соответствии со своим вариантом использования. Я размещаю его здесь на случай, если кто-то еще наткнется на этот ответ и ему понадобится =) - person nickiaconis; 29.06.2013