Rails e Diretórios

Estou fazendo uma aplicação pra gerenciar as músicas que tenho aqui no meu computador, como o model não é do banco de dados e sim uma classe que criei e inseri no diretório models, essa classe tem chamadas aos métodos da classe Dir para mudar diretórios, varrer diretórios atrás de arquivos .mp3 etc. Resumindo manipula o sistema de arquivos do computador. Como o Rails usa caminhos relativos para referênciar arquivos e dependências quando eu rodava a aplicação que usava Dir.chdir, aparecia na tela uma mensagem que diz tanta coisa… Application Error! Mesmo no modo development, não verifiquei os logs logo de imediato, fui testando e descobri o culpado. Googlei e achei esse artigo sobre quase a mesma coisa que precisava. O autor relata o erro e dá a dica mas não foi por esse método, ele usou caminhos absolutos no sistema dele, como eu já estava com a classe pronta e não queria mudar toda a estrutura (que mudava de diretório), segui a dica dele e deu certo. Para que isto não aconteça ele sugere redefinir RAILS_ROOT, a variável onde fica o caminho relativo do Rails, para um caminho absoluto no arquivo environment.rb. Feito aí vai o que eu adicionei no início do arquivo.

# Change to absolute path the Rails root. Troca por caminho absoluto a raíz do Rails.
RAILS_ROOT.sub!(/^\.\//, "D:/caminho_do_rails_aqui/");

Aí você substitui lá em “D:…” o caminho absoluto aonde sua aplicação Rails está rodando. Ah só pra lembra e deixar vocês curiosos estamos redefinindo uma constante! Mas como, num era constante?! É constante e continua sendo mas em Ruby as constantes assim como quase tudo pode ser modificado, nesse caso só gerará um alert.

Powered by ScribeFire.

Anúncios

2 Responses to Rails e Diretórios

  1. JulioGreff disse:

    Legal, não sabia que RoR dava pra fazer grande coisa na máquina local… O resto do artigo nem me serve, ainda nem consegui instalar o bicho hehehehe

  2. É também pensava assim, mas pelo que vi deu certo, depois eu posto a classe que fiz. Se tiver problemas pra instalar grita aí hehe…

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: