0

我有一个关于 Rails 控制器中的循环的简单问题。

这是原始示例代码,其目的是指定要在打开的 flash 图表(饼图)中使用的数据。

#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(上面代码的最后一行)
    意外的 kEND,期待 ']'(控制器结束)

这让我很烦,因为它应该是一个简单的循环。这是怎么回事?

4

1 回答 1

1

也许尝试走不同的路线。

data_1 = Array.new

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

这有意义吗?

于 2010-08-23T04:04:26.163 回答