Ilnar25
@Ilnar25

Как отправить запрос в бд используя id текущего пользователя с гемом Devise?

Не могу получить id через current_user(пробовал current_user.id и current_user.id.to_i). Возможно ошибка в запросе к базе данных. Но запрос через "rails c" проходить с постановкой вместо переменной id пользователя.
Если не работает, другое решение запроса, может кто знает?
я новичок в Rails (

class MessagesController < ApplicationController
def index
if current_user
user = current_user
@messages = Message.where("user_id = user or recipient_id = user")
else
redirect_to new_user_session_path, notice: 'You are not logged in.'
end
end
end

PG::UndefinedFunction: ERROR: operator does not exist: integer = name
LINE 1: ...ELECT "messages".* FROM "messages" WHERE (user_id = user or ...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT "messages".* FROM "messages" WHERE (user_id = user or recipient_id = user)
  • Вопрос задан
  • 283 просмотра
Решения вопроса 1
@Z0nd0R
@messages = Message.where("user_id = :user or recipient_id = :user", {user: user.id})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы