拉力赛SDk2.0 rc3 PrefManager更新方法问题

时间:2015-03-18 19:22:37

标签: sdk rally

我有一个适用于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是预先存在的首选名称

1 个答案:

答案 0 :(得分:1)

最后修复了它 - 所以问题是双重的 - 我需要添加appID并且我需要重新创建pref,因为旧的是因为更新而没有将appID传递给Pref Manager而被锁定以进行任何更新。