2012-05-11 22 views
1

spine.js私は最近、このサイトにコメントしたusersのリストを取得しようとしています。私のサーバーのパスは/users/recently_commentedです。私はそれがundefined返す私の見解にUser.recentlyCommentedを渡すとSpine.jsカスタムレコードを取得する

Spine.jsビデオモデル

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

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

は、私はクラスのメソッドを作成してみました。

これらのレコードはどのように取得できますか?

答えて

1

$.getに電話する方法にいくつか問題があると思います。

まず、$.getは非同期なので、User.recentlyCommentedはUserインスタンスのリストではなくjqXHRを返します。

$.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. 

あなたのビューでも何とかとして「新モデル」を作成したイベントをリッスンする必要があります。

第二に、あなたはそれが到着したときにrecently_commentedデータを処理するためにいくつかの並べ替えのコールバック関数で$.getを呼び出すべきです$.get(したがって、recentlyCommented)の後になるまで、ユーザーは存在しません。

申し訳ありませんが、私はスパインを知らないので、私は慣用的なアプローチが何であるか分かりません。

関連する問題