Pergunta

Estou realmente cansado de digitar my_ar_object.errors.full_messages em meu console quando estou testando as coisas ...

Então, eu quero definir isso:

module ActiveRecord
  class Base
    def err
      errors.full_messages
    end
  end
end

No meu ~/.irbrc, para que seja exclusivo para script/console.

Não quero defini -lo em alguns Inicializador do Rails, pois não acredito que ele pertence ao Projeto Rails (este é um ajudante IRB)

O problema é que, quando eu faço isso, isso acontece:

/.../gems/rails-2.3.5/lib/initializer.rb:437:in `initialize_database':NoMethodError: undefined method `configurations=' for ActiveRecord::Base:Class

Alguma idéia de como eu posso fazer isso funcionar?

Foi útil?

Solução

Você carregou o ActiveRecord no seu .irbrc antes de definir o errar método? Tente adicionar

require 'active_record'

ou

require 'rubygems'
gem 'activerecord', '2.3.5' # or whatever version you use

antes de definir o errar método.

E outra dica: o IRB procura um arquivo .irbrc no diretório atual e no seu diretor de casa. Portanto, você também pode criar um .IRBRC específico do projeto no seu diretório raiz do projeto. Dessa forma, você não precisa apresentar o ActiveRecord à sua configuração IRB padrão, pois é uma dependência bastante pesada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top