2015-02-13 8 views
0

Я хочу использовать хэш. Это мой хэш:Rails: Loop hash on hash

@mcampaign_facturations= 
{:"1"=>{:name=>"metacamapagne2", :name_comp=>"Pole Emploi", :title=>"Enquête HSOT DE A/Enquête HSOT DE B/Enquête HSOT Entreprises/Enquête HSOT DE A"}, :"3"=>{:name=>"metacamapagne1", :name_comp=>"GDF SUEZ", :title=>"Enquête SMS Esprit Services Energie Offres Grises/Enquête SMS Esprit Services Mensualisation"}, :"4"=>{:name=>"metacamapagne3", :name_comp=>"Virgin Mobile - Baromètre SatCli", :title=>"Baromètre SatCli"}, :"5"=>{:name=>"metacamapagne6", :name_comp=>"Ascom", :title=>"Campagne Satisfaction ICOYOTE Suresnes"}, :"10"=>{:name=>"metacamapagne2", :name_comp=>"Ascom", :title=>"Campagne Satisfaction Admin Suresnes"}, :"14"=>{:name=>"metacamapagne12", :name_comp=>"Pro-AM Relation Client", :title=>"PRO-AM de la Relation Client"}, :"15"=>{:name=>"metacamapagne12", :name_comp=>"monabanq.", :title=>"Campagne Satisfaction"}, :"16"=>{:name=>"test", :name_comp=>"GDF SUEZ", :title=>"Enquête SMS Esprit Services Diagnostic Economie/Enquête SMS Esprit Services Appel Entrant"}} 

Я хочу, чтобы отобразить на столе, как так

%table.tab{:border => 0, :cellspacing =>0, :cellpadding => '10px', :width => '100%'} 
    %thead 
     %tr 
     %th{:align => "center"} #{t 'Name'} 
     %th{:align => "center"} #{t 'Company'} 
     %th{:align => "center"} #{t 'Campaigns'} 


    - @mcampaign_facturations.each do |key, value| 
     - value.each do |k, v| 
     %tr.df{:class=>cycle('odd','even')} 
      %td.title{:align => "center"}= v[:name] 
      %td.title{:align => "center"}= v[:comp_name] 

      %td.title{:align => "center"}= v[:title] 
+0

Что ваша проблема в точности? Не работает этот код? –

+0

Я получаю ошибку, например: ActionView :: Template :: Error (неявное преобразование символа в Integer): –

ответ

1

Вы имеете слишком много each петель - это достаточно, если вы перебирать mcampaign_faacturations:

- @mcampaign_facturations.each do |_, v| 
     %tr.df{:class=>cycle('odd','even')} 
     %td.title{:align => "center"}= v[:name] 
     %td.title{:align => "center"}= v[:comp_name] 

     %td.title{:align => "center"}= v[:title] 
+0

Хорошо. Он работает хорошо. Я использую эту строку - @ mcampaign_facturations.each do | key, v |. Thx много –

+0

@SimonNoumedem, пожалуйста, примите мой ответ, если это поможет. –