有人可以告诉我这行代码有什么问题。我收到了这个错误。
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的大小添加和存储数组
由于
答案 0 :(得分: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
,则表示您的orderdesc
为nil
。你必须初始化为空数组。
@order.orderdesc ||= []
@order.orderdesc += @cart.line_items