2010-11-26 4 views
1

HTML 이름 문자 대신 실제 문자 반환레일 기능은 내가하는 기능이

def div 
"<div>blah</div>" 
end 

과를보기 :

&lt;div&gt;blah&lt;/div&gt; 
:
<%= div %> 

있지만 결과 페이지 소스에

실제 문자열 텍스트 대신.

그러나 콘솔에 올바른 태그가 표시됩니다. 콘솔에서

<% logger.info(div) %> 

출력 :

<div>blah</div> 

사람이 도와 드릴까요?

답변

3

대신 이것을 사용하십시오.

<%= raw div %> 

레일 3를 사용하면 데이터를 믿고 확신하는 경우보기에 서버에서 오는 모든 것을, 당신은 raw을 사용할 수 있습니다 이스케이프합니다.

+0

자세한 내용은 http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/를 참조하십시오. –

0

예, 레일에이 텍스트는 당신이 할 수있는, 당신이보기에

<%= div %> 

를 사용할 수 있도록하기 위해서는 지금 레일 3가,

3

또는 그 반대의 경우도 마찬가지 만들기, 기본적으로 원했다 이와 같이 함수를 정의하면 작동합니다.

def div 
    "<div>blah</div>".html_safe 
end