在升级代码之前,我已经将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
答案 0 :(得分:1)
不推荐使用动态查找器方法find_by_id
。只需将其更改为当前版本即可:
@blocked_user = Blockuser.blocked_users.find_by(id: current_user.id)