У меня есть родительская модель, которая имеет много дочерних моделей, например:
App.Blog = Ember.Object.extend({})
App.Comment = Ember.Object.extend({})
Тогда у меня есть представление для блога:
window.App.BlogView = Ember.View.extend
templateName: 'app_templates_blog'
Теперь, когда я первоначально получаю блог через мой REST API, он содержит первые 10 комментариев или около того. Они создаются следующим образом:
window.App.Blog.reopenClass
create: (obj) ->
Object.tap @_super(obj), (result) =>
if result.comments
result.comments = result.comments.map (p) => App.Comment.create(p)
Я показываю по блогу, вызывая BlogView.set ('blog', blogInstance), и все отображается отлично.
Однако!
Я реализую бесконечную прокрутку, поэтому, когда конечный пользователь доходит до нижней части комментариев, я хочу загрузить больше. Я делаю это через REST, но я не могу пока что заставить их отображаться, добавляя их.
Вот как мой метод morePosts () выглядит в BlogView:
moreComments: () ->
blog = @get('blog')
jQuery.getJSON "/blogs/#{blog.get('id')}/comments", (result) =>
comments = blog.get('comments')
result.each (c) => comments.push(App.Comment.create(c))
blog.set('comments', comments)
this.set('blog', blog)
Однако, это, кажется, никогда не добавляет новые комментарии. Что я тут не так делаю?