Ruport - undefined method `chaque " pour “”:String

désolé pour mon anglais.

Je suis ce tuto: http://ruportbook.com/printable_documents.html, le premier exemple, mais j'ai undefined method `chaque " pour "":Chaîne de tous les temps, j'ai créé un nouveau fichier avec ce code:

class MultiTableController < Ruport::Controller    
  stage :multi_table_report    
  class PDF < Ruport::Formatter::PDF    
    renders :pdf, :for => MultiTableController    
    build :multi_table_report do
      data.each { |table| pad(10) { draw_table(table) } }
      render_pdf
    end    
  end    
end

Puis, dans un contrôleur nommé workers_controller.rb j'ai mis l'action suivante:

  def index_report
    t1 = Table(%w[a b c]) << [1,2,3] << [4,5,6]
    t2 = Table(%w[a b c]) << [7,8,9] << [10,11,12]
    pdf = MultiTableController.render_pdf(:data => [t1,t2])
  end

J'ai ajouté cette route pour les routes.rb, bien sûr.

puis, j'ai cette erreur sur mon navigateur:

undefined method `each' for "1":String

Mais l'erreur n'est pas seulement se produire avec cet exemple, j'ai essayé beaucoup d'autres exemples et j'obtiens la même erreur.

De l'aide?
Thks à l'avance!
Ce qui concerne.

  • Pouvez-vous montrer dans ce qui erreur de chaîne heppens? Ne ressemble à ce code utilise directement each sur String
  • Comme vous pouvez le voir ci-dessus, l'erreur est qui se passe à "1" de la chaîne, j'ai changé t1 = Tableau(%w[a b c]) << [1,2,3] << [4,5,6] pour t1 = Tableau(%w[a b c]) << [[1],[2],[3]] << [[4],[5],[6]] pour obtenir un peu d'un autre indice, mais l'erreur est maintenant: undefined method `chaque' pour "[1]":Chaîne :/
InformationsquelleAutor el_quick | 2012-05-28