Сопоставление значений массива в PostgreSQL с ActiveRecord

В моем приложении Rails 4 у ​​меня есть цель увидеть все контакты, где полеvisible_to в таблице контактов равно 1. Мойvisible_to является:integer, array: true.

Однако я получаю следующее исключение:

PG::UndefinedFunction: ERROR: operator does not exist: integer[] = integer LINE 1: ....* FROM "contacts" WHERE "contacts"."visible_to" IN (1) OR... ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.: SELECT "contacts".* FROM "contacts" WHERE "contacts"."visible_to" IN (1) ORDER BY created_at DESC

Я искал ответы и, насколько я вижу, есть проблема с типомvisible_to, Однако я не мог найти решение. Я тоже пытался извлечь выгоду из подсказок бросков, но тщетно.

Моя миграция:

class AddVisibleToToContacts < ActiveRecord::Migration
    def change
      add_column :contacts, :visible_to, :integer, array: true, default: [], using: 'gin'     
    end 
end

Соответствующая переменная из контроллера:

@contacts_all_user_sorted = Contact.all.where(visible_to: [1]).order("created_at DESC")

Ответы на вопрос(2)

Ваш ответ на вопрос