2014-07-07 4 views
8

값/변수가 '& quot'로 둘러싸여 있고 그 이유가 무엇인지 명확한 설명을 찾을 수 없습니다.무엇을 의미 하는가 설명

예를 들어, id가 포함 된 배열을 반환하는 간단한 함수가 있습니다.

return [params[:id]] 

어떤 이유로, 그것을 반환

["4"] 

하지 : 내가 기대했던 것

[4] 

.

'&'이 무엇이고 왜/어떻게 삽입되는 가를 설명 할 수 있습니까?

+5

이 [HTML 엔티티] (http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references)입니다. HTML에서'[]'은'[ "4"]'와 같습니다. –

+3

'params' 해시가 문자열 값을 가지고 있기 때문에 실제 응답은'[ "4"]''[4]가 아닙니다. 그리고 나서 '"'은 큰 따옴표 문자 (당신은 웹 페이지로 출력하려고 시도해야 함)의 HTML 로의 번역입니다. [HTML 코드] (http://www.ascii.cl/htmlcodes.htm)를 참조하십시오. 'return [params [: id] .html_safe]'를 시도해보십시오 (실제로 제공하지 않았기 때문에 여기에 컨텍스트가 확실하지는 않지만). – lurker

답변

3

유니 코드

나는 그것이 unicode이라는 것을 믿습니다 - 디지털 미디어에 인쇄술 & 문자 집합을 출력하는 표준화 된 방법. 유니 코드는 ASCII를 가장 널리 사용하는 다양한 형식을 취합니다.

주석에서 언급 한대로 문제는 순수한 param을 반환 할 때 해당 내용의 문자열 표현을 되 찾는 것입니다. 변수의 실제 내용이 ["4"] 될 것입니다 동안 당신이 출력에 반환 된 데이터를 원하는 경우, HTML은 당신이 당신의보기에서 [.raw()][2] 방법을 시도 할 수 있습니다, [&quot4&quot]

로 취급됩니다

<%= raw([data]) %> 
+1

ASCII는 유니 코드 형식이 아니며 유니 코드를 훨씬 앞선 다른 문자 집합입니다. 어쨌든 이것은 유니 코드가 아닙니다. – russthegibbon

+0

내가 볼 수있는 모든 참조 정보가 있습니까? 감사합니다 –

+0

물론, 그렇습니다. 실제로이 위키피디아 페이지는 시작하기에 좋은 장소입니다. -> https://en.wikipedia.org/wiki/List_of_information_system_character_sets – russthegibbon

관련 문제