
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
- models
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!

6 Comentários em "Organize seus models. Eles merecem!"
Boa dica!
Acho que foi no blog do Ronaldo Ferraz, superfície reflexiva.
Vi isso com um screencast junto usando o Textmate.
Bacana a dica.
o davis tem razão =P
realmente isso é muito util, mas eu queria poder fazer API::SETUP
para acessar as pastas funciona isso ?
Renato,
Funciona sim. Mas neste caso você não precisa colocar o código acima no environment.rb.
Boa Carlos Brando.
Brigadão por dividir com a comunidade.
Trackbacks/Pingbacks
[...] o TaQ disse que tem gente grande usando Rails também Aqui tem também uma dica para facilitar a organização dos Models em diretórios, em projetos grandes isto pode ajudar bastante … Alem dos módels sugiro também organizar o [...]
Deixe o seu comentário!