Erro no plugin file_column usando Inflector

No meu novo projeto Rails eu estou usando o plugin file_column para tratar o upload de arquivos. No entanto, se você usar a versão original do autor que está no repositório SVN, você terá o seguinte erro usando Rails 2.1 ou mais recente:

uninitialized constant FileColumn::ClassMethods::Inflector

Se você instalar o usando o comando abaixo, você baixará a versão do SVN:

./script/plugin install 

Essa versão usa um comando Inflector que foi removido na versão 2.1 do Rails. Devemos usar ActiveSupport::Inflector.

Para isso, você deve corrigir a seguinte linha no arquivo vendor/plugins/file_column/lib/file_column.rb:

my_options = FileColumn::init_options(options, Inflector.underscore(self.name).to_s, attr.to_s)

Corrigir para:

my_options = FileColumn::init_options(options, ActiveSupport::Inflector.underscore(self.name).to_s, attr.to_s)

Claro que por se tratar de um plugin open source, quando você acha um bug você pode agir de 3 maneiras diferentes:

  • Sentar e esperar a correção;
  • Reclamar que open source não presta porque não tem suporte blá blá blá…
  • Corrigir o problema e submeter a correção para o autor

Então, após eu ter resolvido o problema tente submeter a correção, mas descobri que o autor não mexe no plugin há muito tempo. Também descobri que já criaram um mirror do projeto no Github, já com a devida correção.

Então, é melhor instalar o plugin diretamente do GitHub:

./script/plugin install git://github.com/tekin/file_column.git

 

 

 

2 Resultados

  1. dalto disse:

    Cara, valeu. Me ajudou aqui, tava quebrando cabeça à um tempo já. Como vc descobriu como corrigir isso?

    Acho que o melhor é baixar a versão do git, certo?

    []’s

  2. furlan disse:

    Olá Dalto,

    Eu já havia visto esse problema em outro pepino que tive. Aí foi pesquisar um pouco na Net e aí achei um site de um chines que me deu a idéia. Daí fui procurar algúm fork no Github e acabei achando 🙂