@IvanN777

SQLite3::SQLException: ambiguous column name как исправить проблему?

я знаю что при join возникает конфликт имен, однако
У меня есть skope в котором идет поиск

это контроллер
tasks=Task.initiator_filter(params[:initiator_name])


это модель
scope :initiator_filter, ->(name){ joins(:initiator).where("users.name LIKE ?", "%{name}%")}


Сообщение об ошибке понятное, конфликт имен.
SQLite3::SQLException: ambiguous column name: id: SELECT "tasks".* FROM "tasks" INNER JOIN "users" ON "users"."id" = "tasks"."initiator_id" WHERE (users.name LIKE '%fdghfgfd%') AND (id IN (NULL))

Однако я не понимаю откуда вылазиет этот отрывок кода
(id IN (NULL)


чтобы его исправить, вызывается только код в контроллере выше.
С уважением, ваш бездырь
  • Вопрос задан
  • 2593 просмотра
Решения вопроса 1
@vsuhachev
Идете в консоль и вводите
Task.initiator_filter('ttt')
Далее, если запрос нормальный то проблема где-то в вашем коде контроллера, вью или модели(before_action, default_scope и т.д.).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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