Неопределенный метод `параноик?' для ноля:NilClass
Я использую gem 'paranoia', '~> 1.0'
в моем rails 3.2.x
приложение. установлена версия паранойи 1.3.3
Я получаю эту ошибку, когда я делаю рекурсивный: правда, я пытался
user.restore! recursive: true
а также
User.find(user.id, recursive: true)
Я получаю ту же ошибку.
2 ответа
Похоже, ошибка с самоцветом паранойи, которая исправлена в более поздней версии. Эта ошибка возникает, когда ассоциация равна нулю.
Вы можете сравнить соответствующий код между версиями здесь
Ваша версия: https://github.com/radar/paranoia/blob/v1.3.3/lib/paranoia.rb#LC89
Последнее: https://github.com/radar/paranoia/blob/rails4/lib/paranoia.rb#LC107
В основном они делают нулевую проверку в последней версии.
destroyed_associations.each do |association|
association_data = send(association.name)
unless association_data.nil? #this condition is missing in your version
Вы можете либо исправить это, либо перейти на последнюю версию
@RodM команда перенесла патч в репо, но еще не выпустила.
Вместо этого используйте их git-репо в качестве источника драгоценных камней, используя RubyGems.
Добавить в Gemfile
gem "paranoia", :github => "radar/paranoia", :branch => "rails3"