JavaFree.org | RubyOnBr.org

Dica importante sobre o Rails 3

Acompanhar Dica importante sobre o Rails 3 3 posts, 2 participantes

Avatar rodrigo3n 95 posts

Olá pessoal, nós Railers com frequência colocamos algum codigo
adicional de nossa aplicação em ‘/lib/modulo/arquivo.rb’ por exemplo,
aí depois incluimos em nossos controllers. Essa prática muda um pouco
no Rails 3, pois agora o diretório ‘/lib’ não está mais no
autoload_paths do Rails e se você incluir no seu controller vai
receber um erro. Pra que isso não aconteça é só adicionar o seguinte código em /config/application.rb:

 config.autoload_paths << “#{Rails.root}/lib” 

Pronto, agora você manda o ‘/lib’ pra o autoload_paths e já pode
chamar seus modulos nos controllers! \o/

Thx ao @bitsweat pelo recado!

Sucesso!

 
Avatar rodrigo3n 95 posts

UPDATE: Pessoal, encarem esse post só como explicação, não é recomendado fazer isso por que torna seu código com Rails 3 não-threadsafe. Ao invés disso, é recomendado fazer um require mesmo no seu controller.

P.S: Agora eu sei porque os commiters do Rails tiraram o ‘/lib’ do autoload_paths

Sucesso!

 
Cad10cd22abe80cca76b7579af2906e8 Ronaldo Possan 974 posts

Faz total sentido não carregar os módulos / gambis. rs =P

Mas já é mais alguma coisa para constarmos ai nas listas das novidades do Rails 3.
Valeu.

\^/