0

アプリで使用gem 'paranoia', '~> 1.0'していrails 3.2.xます。インストールされているパラノイアのバージョンは 1.3.3 です

recursive: true を実行すると、そのエラーが発生します。

user.restore! recursive: true

User.find(user.id, recursive: true)

同じエラーが発生しています。

4

2 に答える 2

1

paranoia gem のバグのようですが、後のバージョンで修正されています。関連付けが nil の場合、このエラーが発生します。

ここでバージョン間の関連コードを比較できます

あなたのバージョン: https://github.com/radar/paranoia/blob/v1.3.3/lib/paranoia.rb#LC89

最新: https://github.com/radar/paranoia/blob/rails4/lib/paranoia.rb#LC107

基本的に、彼らは最新バージョンで null チェックを行っています。

destroyed_associations.each do |association|
      association_data = send(association.name)

      unless association_data.nil? #this condition is missing in your version

パッチを適用するか、最新バージョンに移行できます

于 2014-04-09T21:57:25.997 に答える