Я получаю эту ошибку в своем приложении Ruby on Rails,
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Я прочитал API переполнения стека и не могу найти ответ, который мне подходит. Так что это конкретные части кода:
ActiveRecord::StatementInvalid in Store#show_item
Showing /media/store_test/app/views/store/show_item.html.erb where line #24 raised:
PG::UndefinedFunction: ERROR: operator does not exist: character varying = integer
LINE 1: ...CT "show_item".* FROM "current_item" WHERE (user_id = 1)
^
Моя логика, лежащая в основе этой ошибки, заключается в том, что у меня есть два пользователя, пользователи магазина и пользователи-сотрудники, оба они являются пользователями, но у сотрудников-сотрудников есть «флаг», поэтому они могут видеть все элементы в магазине. У пользователей магазина нет этого флага, поэтому на этой веб-странице должны отображаться элементы, которые у них есть «в списке желаний», и когда я создаю таблицу, чтобы заполнить ее, я получаю вышеуказанную ошибку /
Этот код работает, когда я являюсь пользователем-сотрудником, и заполняет мою таблицу по мере необходимости, но не работает, когда я - пользователь магазина.
Вопрос : Как я могу исправить эту ошибку, не сильно меняя код?
РЕДАКТИРОВАТЬ: СХЕМА
create_table "current_item", force: :cascade do |t|
t.string "name", default: "", null: false
t.string "description"
t.integer "cost"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "user_id"
end