在〜/ .irbrc中定义的活动记录助手

时间:2010-03-26 15:07:38

标签: ruby-on-rails ruby irb

当我正在测试时,我真的厌倦了在我的控制台中键入my_ar_object.errors.full_messages ...

所以,我想定义一下:

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

在我的〜/ .irbrc中,因此它是脚本/控制台独有的。

我不想在某些rails初始化程序中定义它,因为我不相信它属于rails项目(这是一个irb帮助程序)

问题是,当我这样做时,会发生这种情况:

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

我是如何做到这一点的?

1 个答案:

答案 0 :(得分:2)

在定义错误方法之前,您是否在.irbrc中加载​​了ActiveRecord?尝试添加

require 'active_record'

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

在定义错误方法之前。

另一个提示:irb在当前目录和你的主目录中查找.irbrc文件。因此,您还可以在项目根目录中创建特定于项目的.irbrc。这样,您就不必将ActiveRecord引入默认的irb配置,因为它是一个相当大的依赖。