Простая петля контроллера (включая открытую флэш-диаграмму)
-
30-09-2019 - |
Вопрос
У меня есть простая проблема, касающаяся петли в контроллере рельсов.
Вот оригинальный код образца, целью которого является указать данные, которые будут использоваться на открытой флэш-диаграмме (круговой диаграммы).
#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
]
Два вопроса:
- Запятая в конце этой линии представляет проблему. Последняя запись не может иметь запятую.
Даже когда я пытаюсь получить эту простую петлю, работающую, временно обход запятой (например, добавление другой записи после окончания без запятой), я получаю ошибки:
Неожиданному «,», ожидая 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
Имеет ли это смысл?