2012-05-11 592 views
1

У меня есть приложение spine.js, где я пытаюсь получить список users, который недавно прокомментировал сайт. Мой путь к серверу - /users/recently_commented.Spine.js Fetch Custom Records

Я попытался создать метод класса:

Spine.js видео Модель

class App.User extends Spine.Model 
    @configure 'User', 'name' 
    @extend Spine.Model.Ajax 

    @recentlyCommented: -> 
    $.get @url("recently_commented") 

Когда я прохожу User.recentlyCommented на мой взгляд, она возвращает undefined.

Как бы получить эти записи?

ответ

1

У меня возникли проблемы с тем, как вы звоните $.get.

Прежде всего, $.get является асинхронным, поэтому User.recentlyCommented вернет jqXHR, а не список экземпляров пользователей.

Во-вторых, вы должны называть $.get с функцией обратного вызова какой-то, чтобы обработать данные recently_commented, когда он прибывает:

$.get @url('recently_commented'), (data) -> 
    # Now convert 'data' to User model instances, 
    # if this function cares about its context then 
    # you'll probably want to use => to define it. 

Ваше мнение также будет нужно слушать «новой модели» создали события каким-то образом, как Пользователи не будут существовать до некоторого времени после $.get (и таким образом recentlyCommented) возвращается.

Извините, но я не знаю, позвоночника, поэтому я не знаю, что здесь означает идиоматический подход.

Смежные вопросы