2011-03-03 4 views
1

도우미 메서드에서이 털이 비트가 있어요 :레일스 : content_tag에 여러 개의 렌더링이 있습니까?

template = content_tag(:div) do  
    form_builder.fields_for(association, object) do |f| 
    formats.each do |format| 
     partial = "#{format}_fields" 
     render(:partial => partial, :locals => { :f => f }) 
    end 
    end 
end 

불행히도 content_tag 내에서 each 루프를 수행하면 불행히도 template 실제로 내용이없는 것 같습니다.

어떤 생각을 어떻게 풀 수 있습니까? 이 content_tag에 대해 render 여러 부분이 필요합니다.

참고 : Rails 3.0.3

을 실행 중입니다.

답변

0

이 코드는 약간의 의심을 보이는 레일을 실행 해요 당신이 원하는 정확히 무엇인가? 도우미로이 작업을 시도하는 것보다 레이아웃이있는 부분을 사용하는 것이 더 나을 것입니다.

나는 어쩌면이 같은 도우미를 작성하려고 render(:partial =>) 출력 스트림에 CONCAT 내용을 반환하지 않습니다 생각 :

template = content_tag(:div) do  
    fields = '' 
    form_builder.fields_for(association, object) do |f| 
    formats.each do |format| 
     partial = "#{format}_fields" 
     fields << render(:partial => partial, :locals => { :f => f }) 
    end 
    end 
    fields 
end 
관련 문제