- 履歴一覧
 - 差分 を表示
 - 現在との差分 を表示
 - ソース を表示
 - Parse/オブジェクトを更新する へ行く。
  
- 1 (2013-06-27 (木) 12:07:39)
 - 2 (2013-06-27 (木) 15:53:59)
 - 3 (2013-08-17 (土) 09:07:15)
 
 
キーワード†
- JavaScript
 - Object
 - get
 - save
 
概要†
アプリケーションに定義したクラスのオブジェクトを更新します。
今回のサンプルは次のクラスを定義したものとしています(※Parse規定のカラムを除く)。
- Post
カラム 型 title String body String  
サンプル†
// オブジェクトを更新する
var update = function(id, title, body) {
	// クラス
	var Post = Parse.Object.extend('Post');
	// クエリ
	var query = new Parse.Query(Post);
	// 取得
	query.get(id, {
		success: function(post) {
			// 属性
			post.set('title', title);
			post.set('body', body);
			// 保存(更新)
			post.save();
			jQuery('#message').text('ポスト更新: ' + post.id);
		},
		error: function(post, error) {
			jQuery('#message').text('ERROR: ' + error.description);
		}
	});
};
// イベント処理(Parseとは直接関係ないところ)
jQuery('input[name=object-update-post]').click(function() {
	var id = jQuery('input[name=object-update-id]').val();
	var title = jQuery('input[name=object-update-title]').val();
	var body = jQuery('textarea[name=object-update-body]').val();
	if (id.length > 0 && title.length > 0 && body.length > 0) {
		update(id, title, body);
	} else {
		jQuery('#message').text('WARN: ' + 'idとtitleとbodyを入力してからfixしてね。');
	}
});
解説†
Parse/オブジェクトを取得する と Parse/オブジェクトを保存する の合わせ技です。
object.save()†
引数なしでコールすると単に保存(更新)するだけです。
これは、 query.get(id, options) したオブジェクトでなくても新規にインスタンス生成したオブジェクトに id を指定することで、その id に該当するオブジェクトを更新することができます。