Spine.js获取自定义记录

时间:2012-05-11 04:42:19

标签: coffeescript spine.js

我有一个spine.js应用程序,我正在尝试获取最近在该网站上发表评论的users列表。我的服务器路径是/users/recently_commented

我尝试创建一个类方法:

Spine.js视频模型

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

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

当我将User.recentlyCommented传递给我的观点时,它会返回undefined

我如何获取这些记录?

1 个答案:

答案 0 :(得分: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)返回后的一段时间内,用户将不会存在。

很抱歉,但我不知道Spine,所以我不知道这里的惯用方法是什么。