Создание URL-адреса из идентификатора объекта

#rally

#rally

Вопрос:

Как мне динамически создать URL-адрес для встраивания ссылки для записи UserStory по сравнению с жестким кодированием строки?

     Ext.create('Rally.data.WsapiDataStore', {
        model: 'UserStory',
        fetch: ['ObjectID'],
        listeners: {
            load: function (store, records) {
                Ext.each(records, function(record) {
                      var ref = "https://rally1.rallydev.com/#/14139205418d/detail/userstory/"   record.get('ObjectID');
                }
            }
        }
    });
  

Ответ №1:

В примере приложения в этом репозитории github я получаю проект из контекста приложения:

 var project = this.getContext().getProject();
this._projectOid = project.ObjectID;
  

а затем сконструировать URL-адрес без необходимости жестко кодировать ObjectId проекта:

 return '<a href="https://rally1.rallydev.com/#/'   that._projectOid   '/detail/iteration/'   record.get('ObjectID')   '" target="_blank">'   record.get('Name')   '</a>';
  

Этот пример предназначен для итерации, но вы можете адаптировать его для истории пользователя.

ОБНОВЛЕНИЕ: согласно комментарию Марка, даже не нужно проходить контекст, чтобы получить OID проекта, чтобы перейти на страницу сведений о пользователе — перенаправление позаботится об этом автоматически.

Комментарии:

1. Обратите внимание, что OID проекта не требуется. Следующая форма: rally1.rallydev.com/#/detail/userstory/12345678910 действителен для любого артефакта ралли и будет автоматически перенаправлен на соответствующий проект.

2. @Отметьте W True, спасибо, ссылка перенаправления автоматически будет включать oid проекта.

3. Я не понимал, что проект не нужен. Спасибо, что указали на это.

Ответ №2:

Это должно сработать:

http://help.rallydev.com/apps/2.0rc3/doc /#!/api/Rally.nav.Manager-метод-getDetailUrl

 var url = Rally.nav.Manager.getDetailUrl(record);
  

Комментарии:

1. Я пробовал вашу функцию вчера и снова сегодня, и я получаю сообщение об ошибке «Не удается прочитать свойство ‘Manager’ неопределенного»

2. Какую версию sdk вы используете? 2.0rc3 был выпущен совсем недавно — это была версия, на которую я ссылался в документах выше. Он должен поддерживаться в версии 2.0 rc1 и выше.