Módulos e "is not missing constant"
|
|
Pessoal, tenho a seguinte estrutura de classes/modulos:
module Sgi
module Kernel
#varios metodos
end
end
class Sgi::Interface
extend Sgi::Kernel
end
class Estoque::Deposito < ActiveRecord::Base
end
classe Interface::Teste < Sgi::Interface
def self.teste
Estoque::Deposito.first
end
end
Se eu executar
me retorna o erro “Interface is not missing constant Estoque”. Me parece que ele está querendo encapsular a chamada a “Estoque::Deposito” dentro do modulo Interface, ficando Interface::Estoque::Deposito. O estranho é que se eu fizer
Funciona! Será que tem alguma coisa a ver com o carregamento dos models do rails? Ou eu estou fazendo alguma besteira nos módulos? |
|
|
Fernando, testei e tive a mesma impressão que você. Dê uma olhada aqui Acho que o segundo comentário deste link pode ajudar. Abraz, Eduardo Mucelli. |
|
|
Valeu a ajuda Eduardo, mas mesmo alterando para ficar dentro de um módulo continua dando o mesmo erro. Só acho estranho porque quando eu coloco o nome da classe (ou do namespace) antes de fazer a chamada, funciona sem dar erro nenhum. Ainda suspeito que tenha algo a ver com o carregamento dos models que o Rails faz… alguém tem alguma sugestão? |

