Как мне обработать значение, используемое в запросе, который имеет специальные символы? - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь выполнить запрос по итерации, но в именах наших итераций есть специальные символы (например, «Sprint - 01 (26 марта 2012 г. по 02 апреля 2012 г.)»).

Невозможно проанализировать ссылку на объект из "Sprint - 01 (26 марта 2012 г. по 02 апреля 2012 г.)" "

Если я добавлю скобки вокруг всего этого (например, '(Iteration = '+' \ "Sprint - 01 (26 марта 2012 г. по 02 апреля 2012 г.) \") '

Не удалось проанализировать: неизвестный оператор ")"

Как правильно обработать значение с этими символами?

function itemQuery() {
  var queryObject = {
key: 'tasks',
type: 'task',
query: rally.sdk.util.Query.and(['State = "Completed"', 'TaskType = "Development"', 'Iteration = ' + '\"Sprint - 01 (Mar 26, 2012 to Apr 02, 2012)\"']),
fetch: 'FormattedID,Name,Owner,Estimate,Actuals'};

  rallyDataSource.findAll(queryObject, populateTable);
}

1 Ответ

3 голосов
/ 27 марта 2012

Проблема не в специальных символах, а в самом запросе. При использовании оператора = для таких объектов, как итерации, он ожидает ссылку, например /iteration/1234.js.

Вместо этого вы можете выполнить запрос через имя итерации с помощью:

...
query: rally.sdk.util.Query.and([
    'State = "Completed"', 
    'TaskType = "Development"', 
    'Iteration.Name = ' + '\"Sprint - 01 (Mar 26, 2012 to Apr 02, 2012)\"'
])
...  

Разница заключается в добавлении ".Name" после итерации. Поскольку имя указано в кавычках, специальные символы уже могут без проблем войти в веб-службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...