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>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# app/models/configuracao.rb
|
||||
class Configuracao < ApplicationRecord
|
||||
self.table_name = 'configuracoes'
|
||||
|
||||
# Chaves válidas do sistema
|
||||
CHAVES = %w[
|
||||
preco_entrega
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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) },
|
||||
|
||||
Reference in New Issue
Block a user