リモートオブジェクトを使用したレコードの作成
リモートオブジェクトモデルインスタンスで create() をコールすることでレコードを作成します。
create() は、2 つの引数 (両方とも省略可能) 受け入れます。
1RemoteObjectModel.create({field_values}, callback_function)
field_values ブロックでは、1 つのステートメントでレコードを定義して作成できます。JSON 文字列を使用してモデルの作成時と同様に項目値を設定します。たとえば、次の 2 つの create() コールは同等です。
1var ctDetails = { FirstName: 'Marc', LastName: 'Benioff' };
2
3// Call create() on an existing Contact model, with no arguments
4var ct = new RemoteObjectModel.Contact(ctDetails);
5ct.create();
6
7// Call create() on an empty Contact model, passing in field values
8var ct = new RemoteObjectModel.Contact();
9ct.create(ctDetails);
create() は結果を直接返しません。コールバック関数では、サーバー応答を非同期に処理できます。
コールバック関数は、最大 3 つの引数を受け入れることができます。
リモートオブジェクトコールバック関数を作成する方法の詳細は、「リモートオブジェクトコールバック関数」を参照してください。
1function callback(Error error, Array results, Object event) { // ... }
create() コールが成功すると、その一部としてリモートオブジェクトに Id 項目が設定されます。この項目にはコールバック関数でアクセスできます。
log() 関数が使用されていますが、これは、リモートオブジェクトの toString() と同等です。
1var ctDetails = { FirstName: 'Marc', LastName: 'Benioff' };
2var ct = new RemoteObjectModel.Contact();
3ct.create(ctDetails, function(err) {
4 if(err) {
5 console.log(err);
6 alert(err.message);
7 }
8 else {
9 // this is the contact
10 console.log(ct.log()); // Dump contact to log
11 console.log(ct.get('Id')); // Id is set when create completes
12 }
13});