Rails 4 TypeError: implicit character to string conversion

I am trying to create a system to block users.

I am trying to select battles that the user did not block their owner

What I have tried so far:

blocked_user_list = BlockedUser.where(:blocker_user_id => user.id).pluck(:user_id) 

  # If the user blocked any users
  if (blocked_user_list.length > 0)
    battles = Battle.all.join(:users).where("battles.user_id NOT IN (?)", blocked_user_list)
  end

Table structure

create_table "blocked_users", force: :cascade do |t|
  t.integer  "user_id" # The id of the blocked user
  t.integer  "blocker_user_id" # The id of the blocker user
  t.datetime "created_at",      null: false
  t.datetime "updated_at",      null: false
end

create_table "battles", force: :cascade do |t|
  t.integer  "user_id"
  t.string   "title"
  t.datetime "created_at",                      null: false
  t.datetime "updated_at",                      null: false
end

Error im get: Rails 4 TypeError: implicit character to string conversion

+4
source share

All Articles