2012-07-27 1 views
2

Как выглядит объект настроек? Кажется, я не могу обновить настройки с чем-нибудь и получить что-то интересное. Я распечатываю this.settings и каждый раз, когда я обновляюсь, он просто регистрирует объект-прототип без значений.Есть ли пример установки и извлечения настроек из приложения Rally SDK 2?

Это то, на что похоже мое тестовое приложение. Я помещаю его в панель внутри ралли, не работая удаленно.

<script type="text/javascript" src="/apps/2.0p2/sdk.js"></script> 

<script type="text/javascript"> 
    Rally.onReady(function() { 
     /*global console, Ext */ 

     Ext.define('CustomApp', { 
      extend: 'Rally.app.App', 
      componentCls: 'app', 

      launch: function() { 
       //Write app code here 
       console.log("settings", this.settings); 
       this.updateSettings({ Name: 'test', Value: Ext.JSON.encode({ test: "blah" }) }); 
      } 
     }); 

     Rally.launchApp('CustomApp', { 
      name: 'test' 
     }); 
    }); 
</script> 

ответ

3

Оказывается, в версии предварительного просмотра я использовал ошибку. И Я пытался передать неправильное предпочтение. Обратите внимание, что предпочтения привязаны к идентификатору приложения, а не к проекту или рабочему пространству. Так как ему нужен идентификатор приложения, он не работает при запуске за пределами Rally.

Ошибка в том, что в функции updateSettings отсутствует строка. Вы можете легко изменить это, добавляя ту же функцию, чтобы ваше определение приложения (не так опрятно, что источник включен в документах?) Просто сделать функцию, как это:

updateSettings: function(options){ 
    Rally.data.PreferenceManager.updateAppPreferences({ 
    appID: this.getContext().get('appID'), 
    settings: options.settings, 
    success: function(updatedSettings){ 
     Ext.apply(this.settings, updatedSettings); 
     if(options.success){ 
     options.success.call(options.scope); 
     } 
    }, 
    scope: this 
    }); 
} 

Итак, предпочтение объект должен быть передан так:

this.updateSettings({settings: { test: "blah") } }); 

Затем, когда он возвращается, то getSetting («тест») даст мне «бла». (Он создает предпочтение с именем, равным «test», Value, равным «blah», и AppId, равным текущему приложению.

+0

Есть ли еще проблема в том, что настройки настроены для каждого приложения, а не для пользователя, так как указанная в ответе на этот вопрос? http://stackoverflow.com/questions/11379902/sdk-2-example-of-a-settings-dialog – user1417835

+0

Спасибо, я застрял с помощью p2, и это обходное решение отлично работало! – phatmann

 Смежные вопросы

  • Нет связанных вопросов^_^