سؤال

لقد سئمت حقًا من كتابة my_ar_object.errors.full_messages في وحدة التحكم الخاصة بي عندما أختبر الأشياء ...

لذلك ، أريد أن أحدد هذا:

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

في بلدي ~/.irbrc بحيث يكون حصريا للنص/وحدة التحكم.

لا أريد تحديده في بعض القضبان المهيمنة لأنني لا أعتقد أنه ينتمي إلى مشروع القضبان (هذا مساعد IRB)

المشكلة هي ، عندما أفعل ذلك ، يحدث هذا:

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

أي أفكار كيف يمكنني أن أجعل هذا العمل؟

هل كانت مفيدة؟

المحلول

هل قمت بتحميل ActivereCord في .irbrc قبل تعريف يخطئ طريقة؟ حاول إضافة

require 'active_record'

أو

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

قبل تعريف يخطئ طريقة.

وتلميح آخر: IRB يبحث عن ملف .irbrc في الدليل الحالي وفي منزلك. لذلك يمكنك أيضًا صياغة مجموعة خاصة بالمشروع في دليل جذر المشروع الخاص بك. وبهذه الطريقة ، ليس عليك تقديم ActivereCord إلى تكوين IRB الافتراضي لأنه تبعية كبيرة إلى حد ما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top