0

请有人告诉我这行代码有什么问题。我收到这个错误。

SyntaxError in OrdersController#new

C:/***/orders_controller.rb:55: syntax error, unexpected tASSOC, expecting keyword_end
                    @order.orderdesc => {i => @cart.line_items[i]}
                                       ^

这是代码行

@cart.line_items.length.times do |i|
     @order.orderdesc => {i => @cart.line_items[i]}
end

orderdesc 是表中的可序列化列,我认为我正确地允许根据 line_items 的大小添加和存储数组

谢谢

4

1 回答 1

1

如果您打算添加所有内容@cart.line_items@order.orderdesc那么您做错了。这是一个改进:

@cart.line_items.each do |item|
  @order.orderdesc << item
end

或更简单:

@order.orderdesc += @cart.line_items

如果你得到undefined method for nil:NilClass那么这意味着你orderdescnil。您必须初始化为空数组。

@order.orderdesc ||= []
@order.orderdesc += @cart.line_items
于 2013-06-08T00:52:03.290 回答