ERROR: syntax error at or near "["

133 views
Skip to first unread message

Edson Lima

unread,
Aug 17, 2012, 12:09:17 PM8/17/12
to Rail Groups
Quando dou save no model recebo este erro:

Completed 500 Internal Server Error in 42ms

Coloco o insert gerado no pgadmim  e recebo este erro:

 INSERT INTO "rota" ("cidade_id", "created_at", "data", "empresa", "observacao", "updated_at", "vendedor_id") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id"  [["cidade_id", 1], ["created_at", Fri, 17 Aug 2012 14:20:38 UTC +00:00], ["data", nil], ["empresa", 1], ["observacao", ""], ["updated_at", Fri, 17 Aug 2012 14:20:38 UTC +00:00], ["vendedor_id", 1]]

ERROR:  syntax error at or near "["
LINE 1: ...UES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id"  [["cidade_i...
                                                             ^

********** Error **********

ERROR: syntax error at or near "["
SQL state: 42601
Character: 164

Não sei de onde está surgindo  um "[" no inserte.

Este é o objeto que estou tentando salvar:

#<Rotum id: nil, cidade_id: 1, vendedor_id: 1, observacao: "",
 created_at: nil, updated_at: nil, data: nil, empresa: 1>


Paulo Patto

unread,
Aug 17, 2012, 12:26:26 PM8/17/12
to rail...@googlegroups.com
Acho que esses símbolos de "[" e "]" não deve ter...

--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
rails-br+u...@googlegroups.com
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7



--
Paulo Patto
"Se em vez de enchermos o bolso enchermos a cabeça, não seremos roubados"

Ruan Carlos

unread,
Aug 17, 2012, 12:30:24 PM8/17/12
to rail...@googlegroups.com
Isso: Fri, 17 Aug 2012 14:20:38 UTC +00:00 estaria certo? Não deveria ser em string tbm?
-----------------------------------------------------------------
Ruan Carlos
@ruanltbg
www.ruancarlos.com.br
www.jquerybrasil.org
Bacharel em Sistemas de Informação - Desenvolvedor web

Felipe Almeida da Silva

unread,
Aug 17, 2012, 12:57:32 PM8/17/12
to rail...@googlegroups.com
Fala Edson blza.

Cara manda o código inteiro da sua classe, só com uma linha fica difícil identificar.

Ruan, a data é assim mesmo, os campos created_at e updated_at(que são criados automaticamente no rake db:create) são preenchidos automaticamente também e são do tipo data, se você reparar qndo o Edson cria o objeto ele coloca o valor nil para esses campos e mesmo assim os valores são setados, se o valor for passado como string provavelmente dará erro.

Posta mais detalhes do código aí Edson, abraço.

Edson Lima

unread,
Aug 17, 2012, 1:01:11 PM8/17/12
to Rail Groups
Não sei se é o suficiente mas aqui está o controller:

def create
    @rotum = Rotum.new()
    @rotum.empresa = session[:usuario].empresa
    @rotum.cidade_id = params[:cidade][:id]
    @rotum.vendedor_id = params[:vendedor][:id]
    @rotum.observacao = params[:observacao]
    begin
      abort(@rotum.inspect)
      @rotum.save
      abort("aqui")
      params.each do |key, value|
        if value != ""
           chave = key.split("_")
          if chave[1] == "kit"
            rota_item = new RotaItem
            rota_item[:rota_id]    = @rotum.id
            rota_item[:item_id]    = chave[2]
            rota_item[:quantidade] = value
            rota_item[:tipo_item]  = 1 #valor 1 indica que é um kit
            rota_item[:empresa]    = session[:usuario].empresa
            rota_item.save
          end
       
          if chave[1] == "brinde"
            rota_item = new RotaItem
            rota_item[:rota_id]    = @rotum.id
            rota_item[:item_id]    = item[2]
            rota_item[:quantidade] = value
            rota_item[:tipo_item]  = 2 #valor 2 indicar que é um brinde
            rota_item[:empresa]    = session[:usuario].empresa
            rota_item.save
          end
        end
      end
    rescue => e
      @rotum.destroy
      abort("Erro:#{e}")
    end
    render :nothing => true

  end





Date: Fri, 17 Aug 2012 13:57:32 -0300
Subject: Re: [rails-br] ERROR: syntax error at or near "["
From: felipe.a...@gmail.com
To: rail...@googlegroups.com

Edson Lima

unread,
Aug 18, 2012, 9:29:01 AM8/18/12
to Rail Groups
Formatei o insert para faciliar a indentificação do erro:


INSERT INTO "rota" ("cidade_id", "created_at", "data", "empresa", "observacao", "updated_at", "vendedor_id")
VALUES ($1, $2, $3, $4, $5, $6, $7)
RETURNING "id"  [
            ["cidade_id", 1],
            ["created_at", Sat,18 Aug 2012 13:14:43 UTC +00:00],
            ["data", '2012-08-18'],
            ["empresa", 1],
            ["observacao", "teste"],
            ["updated_at", Sat, 18 Aug 2012 13:14:43 UTC +00:00],
            ["vendedor_id", 1]   
                ]

Retorna este Erro:


ERROR:  syntax error at or near "["
LINE 4:    ["cidade_id", 1],

           ^

********** Error **********

ERROR: syntax error at or near "["
SQL state: 42601
Character: 167







Edson Lima

unread,
Aug 18, 2012, 3:15:36 PM8/18/12
to Rail Groups
Peço desculpas pela ignorância, o erro estava em um new Modelo, que todos sabem deve ser Modelo.new. Como o Modelo.save estava dentro de begin..rescue junto com este erro, rastrei erroneamente.

Obrigado pela atenção.




From: marc...@hotmail.com
To: rail...@googlegroups.com
Subject: RE: [rails-br] ERROR: syntax error at or near "["
Date: Sat, 18 Aug 2012 16:29:01 +0300
Reply all
Reply to author
Forward
0 new messages