2013-12-17 9 views

답변

3

ERB에는 코드를 보면 알 수 있듯이 블록을 약간 더 복잡하게 만드는 내부 버퍼가 있습니다.

레일즈는 capture 메서드를 제공합니다.이 메서드를 사용하면이 버퍼 내부의 문자열을 캡처하여 블록에서 반환 할 수 있습니다.

그냥이 따라 오는 다른 사람에 대한 매우 유용한
def make_backwards 
    capture do 
    yield.reverse 
    end 
end 
+0

, 다른 문자열에서 수득 된 블록을 포함 할 :' "

\n#{capture {yield} }\n
"'

그래서 도우미는 다음이 될 것입니다 – starfry

0

당신은 FF로 일을 시도 할 수 :

옵션 1 :

<%= make_backwards { "stressed" } %> 

옵션 2 :

<%= make_backwards do %> 
    <% "stressed" %> 
<% end %> 

이 도움이된다면 알려줘합니다.

관련 문제