Pergunta

Eu tenho uma coisa como esta

class A < ActiveRecord::Base
# Parent class
end

class B < ActiveRecord::Base
# Parent class    
end

# models/a/x.rb

class X < A

end

# models/b/x.rb

class X < B

end

# application.rb

config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')]

Eu preciso de referência X: a:B, mas ainda o X de Um espaço de nomes fica referenciado.Existe uma maneira para conseguir isso, ou eu só preciso alterar o meu X é o nome da classe?

Obrigado

Foi útil?

Solução

Estrutura do arquivo em si não pode definir o espaço de nomes em tudo.Você precisa escrever a constante de acordo.

# models/a/x.rb
class A::X < A

# models/b/x.rb
class B::X < B

Também, no Rails 3, não há necessidade de se definir o carregamento caminho de todos os arquivos dentro de /app, não tem certeza de como o Rails 4 funciona, mas eu acho que ele deve ser semelhante.Se para a sua última linha é desnecessário bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top