블록 도우미 내에서 몇 가지 도우미 메서드를 정의하고 있지만 블록의 범위 내에서 유지하여 합리적인 메서드 이름을 가질 수 있으며 더 깨끗하게 보입니다. 추가 범위 메서드에 대한 레일 도우미에 범위가 지정된 블록을 만듭니다.
내가 내보기 사용 헬퍼에서 다음 (매우 기본적인 예)하고 싶은 말 :<%= foo_box do |b| %>
<%= b.title('Foo Bar') %>
Lorem Ipsum...
<% end %>
나는 또한 bar_box
을 가질 수
<div class="foo_box">
<h2>Foo Bar</h2>
Lorem Ipsum...
</div>
이런 식으로 뭔가를 생산하기 블럭 도우미는 title
메서드를 가지고 완전히 다른 것을 출력 할 수 있습니다.
현재 나는 다른 방법으로 구현했습니다. foo_box
및 foo_box_title
,과 같이 블록을 처리 foo_box
로 :
def foo_box(&block)
content_tag(:div, capture(&block), :class => 'foo_box')
end
감사합니다. – DEfusion