Compare commits

...

2 Commits

Author SHA256 Message Date
e89122c6dd Correções para funcionamento do login do motorista senha 1234 2026-06-16 01:51:52 -03:00
c7ed5f0ceb Corrige 500 no painel do motorista (tabela consolidacao_motorista inexistente)
O inflector pt-BR (inflections.rb) resolvia o composto ConsolidacaoMotorista
para o singular "consolidacao_motorista", tabela que não existe (migration cria
"consolidacao_motoristas"). Login do motorista por PIN derrubava /motorista com
PG::UndefinedTable.

Fixa self.table_name explicitamente nos models pt-BR (Consolidacao,
ConsolidacaoMotorista, ConsolidacaoEntrega, Configuracao), eliminando a
dependência do inflector. Spec trava os nomes de tabela.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 01:50:07 -03:00
6 changed files with 28 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

View File

@@ -1,5 +1,7 @@
# app/models/configuracao.rb
class Configuracao < ApplicationRecord
self.table_name = 'configuracoes'
# Chaves válidas do sistema
CHAVES = %w[
preco_entrega

View File

@@ -1,5 +1,7 @@
# app/models/consolidacao.rb
class Consolidacao < ApplicationRecord
self.table_name = 'consolidacoes'
belongs_to :criador, class_name: 'User', foreign_key: :created_by
belongs_to :finalizador, class_name: 'User', foreign_key: :finalizado_por, optional: true
belongs_to :arquivador, class_name: 'User', foreign_key: :arquivado_por, optional: true

View File

@@ -1,5 +1,8 @@
# app/models/consolidacao_entrega.rb
class ConsolidacaoEntrega < ApplicationRecord
# Nome da tabela fixado (mesmo motivo de ConsolidacaoMotorista — inflector pt-BR).
self.table_name = 'consolidacao_entregas'
belongs_to :consolidacao
enum tipo: {

View File

@@ -1,5 +1,9 @@
# app/models/consolidacao_motorista.rb
class ConsolidacaoMotorista < ApplicationRecord
# Nome da tabela fixado: o inflector pt-BR (config/initializers/inflections.rb)
# pode resolver o composto "consolidacao_motorista" no singular errado.
self.table_name = 'consolidacao_motoristas'
belongs_to :consolidacao
has_many :consolidacao_entregas,
->(cm) { where(motorista_nome: cm.motorista_nome) },

View File

@@ -0,0 +1,17 @@
require 'rails_helper'
# Trava os nomes de tabela contra quebras do inflector pt-BR
# (config/initializers/inflections.rb). O composto "ConsolidacaoMotorista"
# já resolveu para o singular errado em produção, derrubando /motorista.
RSpec.describe 'Nomes de tabela dos models' do
{
Consolidacao => 'consolidacoes',
ConsolidacaoMotorista => 'consolidacao_motoristas',
ConsolidacaoEntrega => 'consolidacao_entregas',
Configuracao => 'configuracoes'
}.each do |model, tabela|
it "#{model} aponta para #{tabela}" do
expect(model.table_name).to eq(tabela)
end
end
end