Carlos Brando

Nome do Jogo

Organize seus models. Eles merecem!


Eu vi isto em algum blog sobre Rails nacional, mas confesso que não me lembro em qual foi, por isto se você souber me avisa que coloco o link aqui.

Quando se atinge um número muito grande de models no seu projeto, fica meio difícil encontrar rapidamente o que deseja. Sem contar a falta de organização que isto gera.

A forma mais fácil de organizar os models é usando namespaces. Mas namespaces não era uma solução interessante no meu caso. A melhor opção seria dividir meus models em pastas assim:

  • app
    • models
      • api
      • cache
      • database
      • tableless

Tinha visto em algum lugar que bastava apenas criar as pastas e mover os arquivos para dentro delas. Mas isto não funciona nas versões 1.2+ do Rails. Se este for o seu caso, é necessário incluir o seguinte código em seu arquivo environment.rb:

[source:ruby] config.load_paths += %W[

#{RAILS_ROOT}/app/models/api
#{RAILS_ROOT}/app/models/cache
#{RAILS_ROOT}/app/models/database
#{RAILS_ROOT}/app/models/tableless

] [/source]

Inclua o código acima dentro do bloco Rails::Initializer.run.

Agora sim, meu models ficaram organizados!

Comments