ActiveRecord :: Hataları Rails 3 değiştirme nedir? Raylar 2.3.8 yılındaActiveRecord :: Hataları için Rails 3 değiştirme nedir?
, bu bir nesnedir:
>> ActiveRecord::Errors
NameError: uninitialized constant ActiveRecord::Errors
from (irb):2
Ben wizardly jeneratör çalışması yapmaya çalışıyorum: Raylar 3.0.0rc olarak
>> ActiveRecord::Errors
=> ActiveRecord::Errors
, bir NameError olsun Raylar ile 3.
$ rails g wizardly_scaffold home
Ama başarısız:
/Library/Ruby/Gems/1.8/gems/wizardly_gt-0.1.8.9/lib/validation_group.rb:150:
uninitialized constant ActiveRecord::Errors (NameError)
o da şudur atıfta hattı:
ActiveRecord::Errors.send :include, ValidationGroup::ActiveRecord::Errors
başlarında dosyasında görürüz:
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
Ryan, aşağıdaki doğru değişimi işaret ediyor. Ancak, bu sihirbazlıkla çalışmak (hatta iskeleleri işe almak) elde etmek için yeterli değildir. Bu önemli bir iş gerektirecektir. –
Sonunda Rails 3 ile sihirbazlıkla çalıştınız mı? – peku
Ben yapmadım. Doğrulama grubu yerine grouped_validation (yani raylar 3 ile çalışır) kullanmayı denedim, ancak hiçbir zaman çalışmadı. Projeye devam etmek için 2.3.8'e geri döndüm. İsterseniz, çalışmaya devam edebilmeniz için sihirbazlık hacklenmiş sürümümü kazabilirim. –