简体   繁体   English

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

[英]stack level too deep after upgrading rails

I've upgraded my rails application from 5.1.2 to 5.2.3 before upgrading the code works fine but after upgrade its gives me this "stack level too deep" error mostly it gives error on where i use block user Or any thing related to block user. 我已经将我的Rails应用程序从5.1.2升级到5.2.3,然后再升级,代码可以正常工作,但是升级后,它给了我这个“堆栈级别太深”的错误,大多数情况下,它在使用块用户或与之相关的任何地方都给出了错误阻止用户。 can any one help me ? 谁能帮我 ?

Block user method - 阻止用户方法-

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

This code have error - 此代码有错误-

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

The dynamic finder method find_by_id wass deprecated. 动态查找器方法find_by_id已弃用。 Just change it to the current version: 只需将其更改为当前版本即可:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM