1

当我使用 AttributeDropdown 创建一个应用程序并尝试在调试中对其进行测试时,我收到一个错误(属性下拉菜单:发生查询错误)并且下拉列表不显示,但是如果我使用 rake 组合它,然后将将应用程序组合到 Rally 中的自定义页面中,它可以完美运行而不会出现错误。

我使用演示应用程序(https://developer.help.rallydev.com/attribute-dropdown)尝试了这个,它也有同样的问题。

在 JS 文件中,我有:

 function dropdownChanged(dropdown, eventArgs) {
       var selectedItem = eventArgs.item;
       var selectedValue = eventArgs.value;
     }

     function onLoad() {
       var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__',
                                                             '__PROJECT_OID__',
                                                             '__PROJECT_SCOPING_UP__',
                                                            '__PROJECT_SCOPING_DOWN__');
       var config = {
           type : "defect",
           attribute : "owner"
         };

       var attributeDropdown = new rally.sdk.ui.AttributeDropdown(config, rallyDataSource);
      attributeDropdown.display("aDiv", dropdownChanged);
    }

     rally.addOnLoad(onLoad);

然后在自动创建的普通 template.html 文件中,我添加了“aDiv”。- 现在,如果我打开模板,我会收到这些错误,但如果我 rake combine 然后将 App.html 粘贴到 Rally 中的自定义 HTML 应用程序中,我不会收到错误。

导致错误的行是:

attributeDropdown.display("aDiv", dropdownChanged);

将调试模式与 AttributeDropdown 一起使用是否存在问题?..还是这里发生了其他事情?

4

1 回答 1

1

这似乎是 Web 服务中的一个缺陷。它失败的原因是,在外部运行时,hangman 变量__WORKSPACE_OID__没有被替换,并且 WSAPI 无法处理默认值。它可以在面板内运行,因为 hangman 变量将正确解析为您当前的工作空间。

这是一个遗憾,因为外部开发绝对是首选的方式。与此同时,您可以通过将工作区的 oid 实际传递给 RallyDataSource 来解决它:

var rallyDataSource = new rally.sdk.data.RallyDataSource(12345, 23456, true, false);

您应该能够通过检查在 Rally 的自定义 html 面板中运行的应用程序的页面源来找到这些 oid。

我将提交一个缺陷以确保问题得到解决,并在修复后发回。

于 2013-05-30T14:15:32.617 回答