2011-09-25 3 views
1

현재 Rails 3 스크린에서 배우는 레일 캐스트 스크린 캐스트 (http://www.buildingwebapps.com/learningrails)를 따라 Rails 3에서 작동하도록 변경했습니다. 그러나 10 번째 에피소드에서는 html 코드를 데이터베이스에서 렌더링 할 때 문제가 있습니다. 튜토리얼의 Page 모델에는 각 페이지의 html이있는 본문 필드가 있습니다. 뷰어 컨트롤러의 'show'메서드는 데이터베이스에서 Page를 가져 와서 @ page.body의 내용을 뷰에 반환합니다. 그러나 h1과 같은 태그를 올바르게 렌더링하는 대신 브라우저에서 HTML 소스를 볼 때 내 태그는 <h1; @gt로 렌더링됩니다. 이 문제를 해결할 수있는 방법이 있습니까? 다음과 같이Rails 3 HTML Injection

그냥 참조를 위해, 나의 '쇼'도이다 :

<%= @page.body %> 

답변

3

이 시도 :

<%= raw(@page.body) %> 

원시 방법은 탈출 HTML 문자를 방지 할 수 있습니다.

+0

또는 <% = @ page.body.html_safe %>'. 이 경우에는 '원시'가 더 좋을 것으로 보입니다. (http://stackoverflow.com/questions/4251284/raw-vs-html-safe-vs-h-to-unescape-html) –

+0

감사합니다. –