Как с помощью Backbone.js & Rails правильно связать несколько обновлений коллекции с представлением, которое отображает обновленные параметры выбора? - PullRequest
0 голосов
/ 29 февраля 2012

Я новичок в использовании Backbone.js, и мой Javascript / CoffeeScript-fu мог бы привлечь к себе внимание. Я

У меня есть страница с вложенными ресурсами (т.е. / network /: network_id / affiliation / new) с элементами, которые необходимо загружать динамически. Я думал, что это может быть подходящим моментом для работы с Backbone.js.

Начало моего кода включено ниже. Вот что я хочу сделать на этой странице:

  1. По умолчанию список выбора заполняется экземплярами курса из / курсов. Представление Rails загружает это по умолчанию, поэтому я не думаю, что здесь нужно что-то делать.

  2. Кнопка, которая при нажатии очищает список выбора и заполняет его JSON из / курсы

  3. Кнопка, которая при нажатии очищает список выбора и заполняет его JSON из / networks /: network_id / courses, где: network_id доступен как @ network.id.

  4. Кнопка, которая при нажатии очищает список выбора и заполняет его JSON из / metro_areas /: metro_area_id / courses, где: metro_area_id доступен как @ network.metro_area_id.

  5. Список выбора, заполненный областями метро, ​​который при его выборе очищает список выбора курсов и заполняет его JSON из / metro_areas /: metro_area_id / courses, где: metro_area_id соответствует выбранной области метро.

    1. Когда курс выбран из списка выбора курса, якорная ссылка обновляется с помощью этого курса

(** Не удалось получить код для правильного форматирования, поэтому вот суть **)

https://gist.github.com/1d746b1f2e159b313149

1 Ответ

1 голос
/ 29 февраля 2012

Вы можете использовать встроенные коллекции в модели

class app.Network extends Backbone.Model

  url: ->
    base = "networks"
    return base  if @isNew()
    base + (if base.charAt(base.length - 1) is "/" then "" else "/") + @id

  initialize: ->
    @courses = new app.Courses(@get('courses'))
    @courses.url = '/networks/' + @get('id') + '/courses'

  getCourses: ->
    @courses    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...