1

当我测试东西时,我真的厌倦了在控制台中输入 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

有什么想法可以让我完成这项工作吗?

4

1 回答 1

2

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

require 'active_record'

或者

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

在定义err方法之前。

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

于 2010-03-26T16:34:58.367 回答