1

假设我们有一个包含很多评论的帖子。

当我尝试做

post.restrict!(current_user).comments.exists?

它失败了:

SystemStackError: stack level too deep
from /Users/lord_HX/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/pry-.9.12.6/lib/pry/pry_instance.rb:328

我已将 post.rb 更改为简单

protect do |(current_user, current_account), project|
  can :read
end

但它仍然失败......

看起来它无限地执行exists?来自 /protector-0.7.6/lib/protector/adapters/active_record/relation.rb 的方法

所以我正在寻找如何避免这个问题的任何建议......

4

0 回答 0