升级滑轨后,堆栈级别太深

时间:2019-05-15 04:55:39

标签: ruby-on-rails ruby activerecord ruby-on-rails-5

在升级代码之前,我已经将Rails应用程序从5.1.2升级到了5.2.3,但升级后,它给了我这个“堆栈级别太深”的错误,大多数情况下,它在使用块用户或任何其他位置时都给出了错误与阻止用户有关的事情。 有人可以帮我吗?

阻止用户方法-

def block_user
    return false unless current_user.present?

    @blocked_user = Blockuser.blocked_users.find_by_id(current_user.id)
    if @blocked_user.present?
      @blocked_users = @blocked_user.pluck(:blocked_by_user)
    else
      @blocked_users = ["false"]

    end
  end

此代码有错误-

def blocked_user_admin(blocked_user_id)
    Blockuser.where(blocked_by_user: current_user.id , blocked_user: blocked_user_id)
  end

1 个答案:

答案 0 :(得分:1)

不推荐使用动态查找器方法find_by_id。只需将其更改为当前版本即可:

@blocked_user = Blockuser.blocked_users.find_by(id: current_user.id)