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件) を見る