2011-05-10 2 views
2

작동하지 않습니다 "흰둥이"나는 내 레일 프로젝트,하지만 어떤 일레일 구문 형광펜 흰둥이 내가 구문 하이 라이터를 사용하고

을 표시하지 않습니다

뷰에서
def highlight(text) 
    Albino.new(text, :ruby) 
end 

<% @codes.each do |code| %> 
    <%= highlight(code) %> 
<% end %> 

그렇게 하나가 나를 어디에 도움이 될 수 있습니다 가 잘못되었거나 레일에 좋은 형광펜 보석을 제안 했습니까?

+0

증상이 정확히 무엇인지 확인할 수 있습니까? 응답에 오류가 있거나 '아무 것도'보이지 않습니까? '코드'가 실제로 기대 한 바를 확인 했습니까? (즉, 강조 표시를 내고 강조 표시되지 않은 텍스트가 표시되는지 확인하십시오) –

+0

강조 표시를 제거하면 아무 것도 표시되지 않습니다. 강조 표시되지 않은 텍스트가 표시됩니다. – sharath

+0

Albino.colorize가 항상 빈 문자열 (Rails v3.2, ruby ​​1.9.3)을 반환하는지 확인할 수 있습니다. – xpepermint

답변

0

어떤 오류가 발생합니까?

당신은 @codes 후 . 누락 : 도우미가 새로운 변종 인스턴스를 생성하지만, 구문 강조에 요청 실제로 사용하지 않는 것처럼

<% @codes.each do |code| %> 
    <%= highlight(code) %> 
<% end %> 
+0

미안하지만 여기에 이것을 쓰는 것을 잊어 버렸습니다.하지만 제 코드에서는 올바르게 작성했습니다. 지금 내 질문을 편집했습니다 – sharath

0

그것은 나에게 보인다.

def highlight(text) 
    Albino.colorize(text, :ruby) 
end 
+0

... 아니면 아닐 수도 있습니다.라이브러리가 알비노 개체에 to_s 메서드를 추가 했으므로 문서가 사용자가 수행 한 작업을 정확히 인용 한 것으로 나타났습니다. 이상한 :( –

0

Google Code Prettify을 사용하여 고려 유무 : 다음과 같이

은 도우미를 변경

? Google 코드 및 스택 오버플로 모두에서 사용되는 구문 형광펜입니다.이 코드는 상당히 견고합니다.

JavaScript에서는 너무 많은 기능을 넣는 것을 좋아하지 않지만이 방법으로 추가 할 수있는 합리적인 기능은 구문 강조 기능입니다. 모든 코드를 강조 표시하지 않고도 여전히 읽을 수 있습니다.

0

이 문제는 다소 오래되었지만 방금 나 자신을 발견했습니다.

문제는 Albino가 구문 분석 될 때 HTML을 직접 출력한다는 것입니다. (저는 이것이 올바른 단어라고 생각합니다. 예를 들어

:

highlight(text) 

그리고 텍스트는 다음과 같습니다 무엇이 필요하나요

<div class="highlight"><pre><span class="k">def</span> <span class="nf">hello_world</span> <span class="nb">puts</span> <span class="s2">&quot;Hello World!&quot;</span><span class="o">.</span><span class="n">to_s</span> <span class="k">end</span> </pre> </div> 

이 강조 표시 방법에 .html_safe를 추가 할 수 있습니다 :

def hello_world 
    puts "Hello World!".to_s 
end 

가 발생합니다.

Albino.colorize(text).html_safe 

그래야합니다.

관련 문제