Titanium AlloyのSync Adapterでナイススケルトン2
前回で、サーバサイドとクライアントサイドの分業がしやすくなった!とおもったけど、あれだと1種類のmodelにしか対応できていない。articleの開発は問題なく進められても、author絡みの開発をするには、また別のアダプターをつくらないといけなくなっちゃう。アダプタはモデルごとに指定するから、それでも別にダメじゃない気がしてきたけど。それはさておき。
で、要は前回のapp/assets/alloy/sync/sample.js内でモデル判別してif書いときゃいいんだけど、あそこでmodelを判別する手段がなかった。modelが引数にあるから、それで判別できるべーとか思ってたけど実際は空だった。
名前がないなら足せばいいじゃない、ということで各モデルに名前をあげましょう。
models/article.coffee
exports.definition =
config:
adapter:
type: "sample",
collection_name: "articles"
idAttribute: "id"
extendModel: (Model) ->
_.extend(Model.prototype,
myName: 'article'
)
Model
extendCollection: (Collection) ->
_.extend(Collection.prototype,
myName: 'articles'
)
Collection
assets/alloy/sync/sample.js
module.exports.sync = function(method, model, options) { console.log(model.myName); ~snip~
とりあえず、こんな感じでうまくいきそう。

- 作者: 岩明均
- 出版社/メーカー: 講談社
- 発売日: 2010/01/01
- メディア: コミック
- 購入: 7人 クリック: 41回
- この商品を含むブログ (43件) を見る