2014-06-20 4 views
0

나는 새우 보석을 사용하여 Ruby on Rails에서 동적 크기 표 형식의 코드를 작성하려고합니다. 본질적으로이 테이블은 특정 정보가 표시 될 것인지를 확인하고, 그렇다면 행/셀을 적절하게 변경합니다. 이 테이블에는 하드 코드 된 헤더와 같은 정적 행/셀도 있습니다. 동적 데이터는 for each loop를 통해 존재하지만 foreach 루프를 코딩 할 곳을 모른다면 체크 될 것입니다. 잘못된 구문 내 코드 : 그건 그냥 문법적으로 잘못 때문에 분명히새우를 사용하여 테이블을 동적으로 생성하기

table_data = [[Prawn::Table::Cell::Text.new(pdf, [0,0], :content => "Title", :align   => :center, :inline_format => true, :size => 12)], 
       object.objectProperties.each do |f| 
        [Prawn::Table::Cell::Text.new(pdf, [0,0], :content => f.getSpecificProperty, :align => :center, :inline_format => true, :size => 12)] 
        end 
       ] 

, 루비가 TABLE_DATA 내에 배치 foreach 루프를 허용하지 않습니다는 (난 그냥 당신에게 내가 누구인지에 대한 이해를 제공하기 위해이 쓴 성취하려고 노력한다). 내 질문은 어떻게이 문제를 해결할 수 있습니까? 이러한 속성이 존재하는지 확인해야하며 속성의 존재 여부에 따라 해당 셀을 만들고 추가하는 방법은 무엇입니까?

답변

1
dynamic_data = [] 
object.objectProperties.each do |f| 
    # populate dynamic_data array 
end 

table_data = [[Prawn::Table::Cell::Text.new(pdf, [0,0], 
       :content => "Title", :align => :center, 
       :inline_format => true, :size => 12)], dynamic_data] 
+0

은 매력처럼 작동합니다. 나는 이것에 매우 가깝지만'each do' 루프에 table_data를 만들려고했습니다. 고맙습니다! – AspiringGeek

관련 문제