Визуализация строки в виде шестнадцатеричного значения цвета в Ruby on Rails - PullRequest
0 голосов
/ 24 июля 2010

У меня есть шестнадцатеричное значение, которое я получаю из XML-файла, и я пытаюсь использовать это шестнадцатеричное значение в качестве цвета фона для таблицы данных.Однако в IE8 он продолжает рендеринг в виде строки.

Когда я использовал

<%= h(@dhex1[k]) %>

, он рендерит как

<% hex> A8960A <% /hex> с шестнадцатеричными тегами (обратите внимание, что знаки% означают, что браузер не считает их тегами)

в браузере.Я пробовал

<td style="background-color:#<%=h(@dhex1[k].to_s)%>">    
<td style="background-color:#<%=h(@dhex1[k])%>">    
<td style="background-color:#<%=@dhex1[k]%>">
<td style="background-color:<%=@dhex1[k]%>">

, но он не будет отображаться как цвет фона.Шестнадцатеричные теги, как значение хранится в самом XML-документе, и я использую

@hex1 = XPath.match( xmldoc, "///hex" )

, чтобы получить шестнадцатеричное значение, но оно отображается как A8960A.Что мне нужно изменить?

1 Ответ

2 голосов
/ 25 июля 2010

Из вашего описания кажется, что @dhex1[k] содержит нежелательный элемент xml.Либо избавьтесь от этого в том месте, где вы извлекаете значение, как в

@hex1 = XPath.match(xmldoc, '//hex/text()')

или позже, как в

<td style="background-color:#<%= @dhex1[k].gsub(/<.+?>/, '') %>">
...