@fetch()
すべての Spine モデルで Spine のメソッドをオーバーライドする必要があります。現在、次のようにコードが重複しています。
TastypieEndpointMixin =
fromJSON: (data) ->
return unless data
return Spine.Model.fromJSON(data.objects)
class App.models.Position extends Spine.Model
@configure 'Position', 'code', 'name'
@extend Spine.Model.Ajax
@extend TastypieEndpointMixin
@url: '/api/v1/position/?format=json'
validate: ->
'code is required' unless @code
@fetch: ->
defer = $.Deferred()
@one "refresh", ->
defer.resolve()
super
return defer
class App.models.Player extends Spine.Model
@configure 'Player', 'first_name', 'last_name', ...
@extend Spine.Model.Ajax
@extend TastypieEndpointMixin
@url: '/api/v1/player/?format=json'
@fetch: ->
defer = $.Deferred()
@one "refresh", ->
defer.resolve()
super
return defer
私の質問は次のとおりです: を含む何らかの形式の親クラスを作成するにはどうすればよい@fetch()
ですか?
これは簡単に解決できる問題であることはわかっています。私は多くのオプションを試しました (拡張Spine.Model
やを含むSpine.Model.Ajax
) が、何も機能せず、理解できないようです。