2013-11-25 4 views
0

Я используюобновление рубин теги в ралли

@rally.update("#{type}","#{@object["_ref"]}",field) 

обновлять поля тегов, но он не работает. Я определяю field["Tags"] как @tag["_ref"].

Весь код рубина вставляется здесь. http://pastebin.ubuntu.com/6475850/

+1

Определение «не работает». Что оно делает? Что вы ожидаете? Кроме того, пожалуйста, не ссылайтесь исключительно на внешнюю ссылку. Соответствующий код должен быть включен в вопрос. Если вы можете уменьшить проблему до минимального размера, это будет проще для других. –

ответ

0

Атрибут Теги коллекция в ралли, так что даже если вы добавляете только один тег на объект, он должен быть в массиве:

field["Tags"] = [@tag] 
@rally.update("#{type}","#{@object["_ref"]}",field) 

Если сделать трюк. Однако следует отметить, что выше будет заменить любые существующие метки на артефакт, так что было бы хорошей идеей, чтобы сделать что-то вроде этого:

@object.read 
existing_tags = @object.Tags 
updated_tags = existing_tags 
if !updated_tags.nil? then 
    updated_tags.push(@tag) 
else 
    updated_tags = [@tag] 
end 
field["Tags"] = updated_tags 
@rally.update("#{type}","#{@object["_ref"]}",field) 
+0

Это полезно. Благодаря! –

+1

Я пробовал, и он должен быть обновлен_tags = [@tag]. Если вы используете [@tag ["_ ref"]], это не сработает. Благодаря! –

+0

Спасибо! Обновлен ответ, чтобы отразить ваше исправление :) –

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