PG::UndefinedTable: ERROR: relation "carrinho" does not exist

134 views
Skip to first unread message

eltin182

unread,
Feb 4, 2016, 6:45:25 AM2/4/16
to rails-br
Erro muito louco! Galera, complicou o meio de campo de novo! Assim, tenho uma tabela chamada Carrinhos, nos inflections ta tudo ok

  inflect.plural "carrinho", "carrinhos"
  inflect.singular "carrinho", "carrinho"
inflect.singular "carrinho", "carrinho"
  inflect.irregular 'carrinho', 'carrinhos'

eltin182

unread,
Feb 4, 2016, 6:48:21 AM2/4/16
to rails-br
Continuando...

Colei errado:


  inflect.plural "carrinhos", "carrinhos"
  inflect.singular "carrinho", "carrinho" 
  inflect.singular "carrinhos", "carrinho"
  inflect.plural "carrinho", "carrinhos"
  inflect.irregular 'carrinho', 'carrinhos'

* Detalhe: quando eu rodo "Carrinho".pluralize ele continua mostrando Carrinho e não carrinhos mesmo com o inflectiion ' - '
Já apaguei o banco, ja fiz tudo e ainda continua dando esse erro, o que pode ser? Não faz sentido não existir relação...

Leandro Machado Pereira

unread,
Feb 4, 2016, 6:56:41 AM2/4/16
to rails-br
Tenta colocar os inflections assim:

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.irregular 'medicao', 'medicoes'
end

Verifica no schema se a tabela está com o nome correto, verifica os controllers, models e views se estão com os nomes corretos.

--
--
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

---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+u...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

eltin182

unread,
Feb 4, 2016, 7:16:05 AM2/4/16
to rails-br
Então, já pus esse negocio d irregular...
Meu controller ta carrinhos_controller, meu model ta carrinho.rb, minhas views carrinhos, helper carrinhos_helper. No schema tem:
create_table "carrinhos", force: :cascade do |t|
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

Ou seja ta tudo certinho msm, ja apaguei todo banco mil vezes, migrations, seed, WTF is this???

Leandro Machado Pereira

unread,
Feb 4, 2016, 7:20:44 AM2/4/16
to rails-br
1) Você está chamando a classe carrinho dentro do controller carrinho ou dentro de outro controller ?


2) Aquele erro de relation, pode ser por falta algum relacionamento com outro model, você está tentando fazer algo do tipo @produtos.carrinho ou vendas.carrinho 

--

Everaldo Gomes

unread,
Feb 4, 2016, 7:26:02 AM2/4/16
to rail...@googlegroups.com
has_one :carrinho

has_many :carrinhos

eltin182

unread,
Feb 4, 2016, 7:30:04 AM2/4/16
to rails-br
CarrinhosController
class CarrinhosController < ApplicationController
  def checkout
  end

  def limpar
  end
end

Carrinho.rb
class Carrinho < ActiveRecord::Base
  has_many :itens_carrinho, dependent: :destroy
  has_many :itens, through: :itens_carrinho, source: :produto
end

ItemCarrinho.rb
class ItemCarrinho < ActiveRecord::Base
  belongs_to :carrinho
  belongs_to :produto
end

eltin182

unread,
Feb 4, 2016, 7:34:47 AM2/4/16
to rails-br
Tipo, no começo a minha migration era assim:
20160131221548_create_carrinho.rb
class CreateCarrinho < ActiveRecord::Migration
  def change
    create_table :carrinho do |t|

      t.timestamps null: false
    end
  end
end

Porém logo em seguida eu a renomei para:
20160203140331_rename_carrinho_table_to_carrinhos_table.rb
class RenameCarrinhoTableToCarrinhosTable < ActiveRecord::Migration
  def change
  rename_table :carrinho, :carrinhos
  end
end

Será q esse pode ser o problema? Mas aí seria muita sacanagem =(
Pois o schema ja mostra como Carrinhos e todo o resto tbm.

eltin182

unread,
Feb 4, 2016, 9:11:48 AM2/4/16
to rails-br
Vou tacar fogo em tudo e começar d novo, posso simplesmente apagar as migrations na mao e rodar o generate migration novamente?

Carlos Eduardo Ribeiro

unread,
Feb 4, 2016, 3:01:22 PM2/4/16
to rail...@googlegroups.com
Pra começar, sugiro nāo codar NADA em português.

Olha o trabalho q vc está tendo para conseguir usar "carrinhos".

Pq nāo usar "cart" ?

Vc acha certo misturar dois idiomas?
 has_many :itens_carrinho, dependent: :destroy

"has_many" e "itens_carrinho".. fica muito estranho no meio do código..

IMHO, todo código deveria ser em inglês.

abrass

Em 4 de fevereiro de 2016 11:11, eltin182 <elton.me...@gmail.com> escreveu:
Vou tacar fogo em tudo e começar d novo, posso simplesmente apagar as migrations na mao e rodar o generate migration novamente?

--

eltin182

unread,
Feb 4, 2016, 3:07:27 PM2/4/16
to rails-br
Não é culpa minha cara, juro!

Everaldo Gomes

unread,
Feb 4, 2016, 3:09:12 PM2/4/16
to rail...@googlegroups.com
Dependendo da alteração, tem que reiniciar o servidor.

2016-02-04 18:07 GMT-02:00 eltin182 <elton.me...@gmail.com>:
Não é culpa minha cara, juro!

--
Reply all
Reply to author
Forward
0 new messages