Question

J'ai un problème simple en ce qui concerne une boucle dans un contrôleur Rails.

Voici le code de l'échantillon original, dont le but est de préciser les données à utiliser dans un graphique flash ouvert (graphique).

#controller
data_1 = [
  OFC2::PieValue.new(:value => 20,  :label => 'GroupA', :font_size => 15),
  OFC2::PieValue.new(:value => 30, :label =>  'GroupB', :font_size => 15)
]

Je dois faire ceci:

data_1 = [
  @groups.each do |group|
    OFC2::PieValue.new(:value => group.value,  :label => group.name, :font_size => 15),
  end
]

Deux questions:

  1. La virgule à la fin de cette ligne pose un problème. La dernière entrée ne peut pas avoir une virgule.
  2. Même lorsque je tente de faire cette simple boucle de travail en contournant temporairement la virgule (comme l'ajout d'un nouveau record après la fin sans une virgule), je reçois des erreurs:

    unexpected '', attendant kend (pour la ligne OFC2)
    unexpected ']', attendant kend (dernière ligne de code ci-dessus)
    Kend inattendue, attente ']' (fin du traitement)

Cela me tracasse, car il devrait être une simple boucle. Que se passe-t-il?

Était-ce utile?

La solution

Peut-être essayer d'aller un itinéraire différent.

data_1 = Array.new

@groups.each do |g|
  data_1 << OFC2::PieValue.new(:value => g.value,  :label => g.name, :font_size => 15)
end

Est-ce que ce sens?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top