ActiveRecord :: त्रुटियों के लिए रेल 3 प्रतिस्थापन क्या है?ActiveRecord :: त्रुटियों के लिए रेल 3 प्रतिस्थापन क्या है?
रेल 2.3.8 में, यह एक वस्तु है:
>> ActiveRecord::Errors
NameError: uninitialized constant ActiveRecord::Errors
from (irb):2
मैं wizardly जनरेटर काम करने के लिए कोशिश कर रहा हूँ:
>> ActiveRecord::Errors
=> ActiveRecord::Errors
रेल 3.0.0rc में, आप एक NameError मिल रेल के साथ 3.
$ rails g wizardly_scaffold home
लेकिन यह विफल रहता है:
01,235,/Library/Ruby/Gems/1.8/gems/wizardly_gt-0.1.8.9/lib/validation_group.rb:150:
uninitialized constant ActiveRecord::Errors (NameError)
लाइन यह यह है को संदर्भित करता है:
ActiveRecord::Errors.send :include, ValidationGroup::ActiveRecord::Errors
फ़ाइल में इससे पहले, हम देखते हैं:
module ValidationGroup
module ActiveRecord
...
module Errors # included in ActiveRecord::Errors
def add_with_validation_group(attribute, msg = I18n.translate('activerecord.errors.messages')[:invalid], *args, &block)
add_error = @base.respond_to?(:should_validate?) ? (@base.should_validate?(attribute.to_sym) || attribute == :base) : true
add_without_validation_group(attribute, msg, *args, &block) if add_error
end
...
end
रयान नीचे सही प्रतिस्थापन को इंगित करता है। हालांकि, यह जादूगर काम करने के लिए पर्याप्त नहीं है (या यहां तक कि मचान काम कर रहे हैं)। इसके लिए महत्वपूर्ण काम की आवश्यकता होगी। –
क्या आप अंततः रेल 3 के साथ जादूगर तरीके से काम कर रहे थे? – peku
मैंने नहीं किया। मैंने validedgroup के बजाय grouped_validation (जो रेल 3 के साथ काम करता है) का उपयोग करने का प्रयास किया, लेकिन इसे कभी नहीं मिला और चल रहा था। मैंने प्रोजेक्ट के साथ आगे बढ़ने के लिए रेल 2.3.8 पर वापस स्विच किया। यदि आप चाहें, तो मैं काम करने के लिए आपके लिए जादूगर रूप से अपने हैक किए गए संस्करण को खोद सकता हूं। –