
180
|
第十一章
讀取 / 設定這些屬性值的做法,就和讀取 / 設定一般物件的屬性值的做法一模一樣。
另外,還有個
attributes()
函式,會回傳一組包含所有屬性值的物件實字(object
literal):
var task = Task.init();
task.name = "Read the paper";
assertEqual( task.attributes(), {name: "Read the paper"} );
如果要儲存一筆全新或已存在的資料也很簡單,只要呼叫
save()
函式即可。儲存資料
時,如果發現這是一筆全新的資料,就會先自動產生一組 ID 值,再將這筆資料存進用
戶端的記憶體中:
var task = Task.init({name: "Finish book"});
task.save();
task.id //=> "44E1DB33-2455-4728-AEA2-ECBD724B5E7B"
呼叫 Task 模型的
find()
函式並傳入 ID,就可以讀取資料:
var task = Task.find("44E1DB33-2455-4728-AEA2-ECBD724B5E7B");
assertEqual( task.name, "Finish book" );
如果找不到該 ID 所對應的資料,就會丟出例外(exception)。如果不想丟出例外,也可
以先用
exists()
函式來檢查某筆資料是否存在:
var taskExists = Task.exists("44E1DB33-2455-4728-AEA2-ECBD724B5E7B"); ...