我有一个适用于sdk 2.0rc3的应用程序,即用更多字符串更新首选项值。最近这停止了工作,当我调查时发现,如果pref不存在,PrefManager.update方法会正确创建一个具有请求值的方法。但是,如果我想更新现有的那个,那么它无法应用任何类型的更新。 有谁知道这是否是由平台上最新的Rally变化引起的?
或者也许是一个可能出错的想法?
_saveNewPrefs : function (prefValue){
var sortedPrefs = prefValue;//_.sortby(prefValue,'keyword');
var appPrefValueEncoded = Ext.JSON.encode(sortedPrefs);
// resave entire pref again with new build
var newPref = {};
newPref[this.appPrefName] = appPrefValueEncoded;
console.log ('workspace', this.appWorkspace);
console.log('newPref', newPref);
Rally.data.PreferenceManager.update({
settings: newPref,
workspace: this.appWorkspace,
success: function(updatedRecords, notUpdatedRecords) {
console.log ('Pair saved', updatedRecords);
console.log('this',this);
this._displayGrid();
},
scope : this
});
},
抛出的错误就是这个 “验证错误:Preference.Name与buildList55冲突,其中buildList55是预先存在的首选名称
答案 0 :(得分:1)
最后修复了它 - 所以问题是双重的 - 我需要添加appID并且我需要重新创建pref,因为旧的是因为更新而没有将appID传递给Pref Manager而被锁定以进行任何更新。