Fzn
Fzn

Reputation: 43

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. 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

Upvotes: 0

Views: 161

Answers (1)

spickermann
spickermann

Reputation: 106952

The dynamic finder method find_by_id wass deprecated. Just change it to the current version:

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

Upvotes: 1

Related Questions