Undefined method `+' for nil:Nilclass - Ruby on Rails

Asked

Viewed 132 times

-1

I need help to solve this problem:

Undefined method `+' for nil:Nilclass - Ruby on Rails

#contabilização de todos os contratos
@stat['RCS'] = {}
produtos.all.each do |ps|
  if not @stat['RCS'][ps.copia_produto['nome']]
    @stat['RCS'][ps.copia_produto['nome']] = {'qtde' => 1,
                                                'qtde_solicitada' => ps.qtde_solicitada,
                                                'valor' => ps.preco_total}
  else
    @stat['RCS'][ps.copia_produto['nome']]['qtde'] = @stat['RCS'][ps.copia_produto['nome']]['qtde'] + 1
    @stat['RCS'][ps.copia_produto['nome']]['qtde_solicitada'] = @stat['RCS'][ps.copia_produto['nome']]['qtde_solicitada'] + ps.qtde_solicitada
    @stat['RCS'][ps.copia_produto['nome']]['valor'] = @stat['RCS'][ps.copia_produto['nome']]['valor'] + ps.preco_total
  end

1 answer

0

You have null data in the variable @stat. NilClass does not implement the method +. You probably need to pass a default value if the value is null. For example: (@stat['RCS'][ps.copia_produto['nome']].fetch('qtde', 0) + 1.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.