Organize seus models. Eles merecem!

18 de julho de 2007  |  Ruby on Rails  | 


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!


5 Comentários


  1. Acho que foi no blog do Ronaldo Ferraz, superfície reflexiva.
    Vi isso com um screencast junto usando o Textmate.
    Bacana a dica.

  2. o davis tem razão =P

    realmente isso é muito util, mas eu queria poder fazer API::SETUP

    para acessar as pastas funciona isso ?

  3. Renato,

    Funciona sim. Mas neste caso você não precisa colocar o código acima no environment.rb.

  4. Boa Carlos Brando.
    Brigadão por dividir com a comunidade.

Trackbacks

  1. Random Tips 2 - Java, Ruby, Propaganda, Dicas, Yoga e tudo o que você precisava como desculpa para parar uns minutos de trabalhar :D

Deixe um comentário