Простая петля контроллера (включая открытую флэш-диаграмму)

StackOverflow https://stackoverflow.com/questions/3543849

Вопрос

У меня есть простая проблема, касающаяся петли в контроллере рельсов.

Вот оригинальный код образца, целью которого является указать данные, которые будут использоваться на открытой флэш-диаграмме (круговой диаграммы).

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

Мне нужно сделать это:

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

Два вопроса:

  1. Запятая в конце этой линии представляет проблему. Последняя запись не может иметь запятую.
  2. Даже когда я пытаюсь получить эту простую петлю, работающую, временно обход запятой (например, добавление другой записи после окончания без запятой), я получаю ошибки:

    Неожиданному «,», ожидая KEND (для линии OFC2)
    Неожиданному «]», ожидая KEND (последняя строка вышеуказанного кода)
    Неожиданные Кенди, ожидающие «]» (конец контроллера)

Это беспокоит меня, потому что это должна быть простая петля. В чем дело?

Это было полезно?

Решение

Может быть, попробуйте пойти по-другому маршруту.

data_1 = Array.new

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

Имеет ли это смысл?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top