2012-05-08 2 views
0

Я пытаюсь запустить грабли для тестирования моего Rails 3.2.3 приложения, и я получаю эту ошибку страннонеинициализированный постоянная ActiveRecord :: Base :: StrictgitSanitizer

gems/1.9.1/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security.rb:206:in `const_get': uninitialized constant ActiveRecord::Base::StrictgitSanitizer (NameError) 

Мои данные файлы полностью пусты, я HAVN Я еще не начал писать тестовый код, просто пустые автоматически созданные файлы спецификаций.

Мне нужны идеи по отладке этой проблемы.

ответ

2

Интересно, если вы случайно вставили слово git в config.active_record.mass_assignment_sanitizer = :strict внутри конфигурации/environment.rb. Так или иначе, ActiveModel использует Strictgit как часть имени, где он должен использовать что-то вроде Logger или Strict.

Я просто смотрел на линии 206 из драгоценных камней/1.9.1/драгоценные камни/ActiveModel-3.2.3/Библиотека/active_model/mass_assignment_security.rb, где происходит ошибка. Метод окружающей линии 206 является:

def mass_assignment_sanitizer=(value) 
    self._mass_assignment_sanitizer = if value.is_a?(Symbol) 
    const_get(:"#{value.to_s.camelize}Sanitizer").new(self) 
    else 
    value 
    end 
end 

Насколько я вижу, mass_assignment_sanitizer=(value) только вызывается со значениями :logger и :strict в самой Rails.

+0

Вы правы! Большое спасибо. Мне было интересно, что могло бы быть строгим. –

Смежные вопросы