У меня есть 3 модели: учетная запись, план и пользователь (и я не могу изменить структуру модели отношений, но добавляю области или методы)
Account
belongs_to :plan
Plan
belongs_to :user
User
has_may :plans
Я хочу знать, СУЩЕСТВУЕТ ли учетная запись с определенным user_id
Account.exists?……..//вот моя проблема





Вы можете создавать косвенные ассоциации, которые связывают учетную запись и пользователя через модель плана:
class Account < ApplicationRecord
belongs_to :plan
has_one :user, through: :plan
end
class Plan < ApplicationRecord
belongs_to :user
end
class User < ApplicationRecord
has_may :plans
has_many :accounts, through: :plans
end
Это позволит вам запросить:
Account.joins(:user)
.where(users: { id: user_id })
.exists?
ActiveRecord автоматически обработает объединение через таблицу планов.
См. руководства по Rails:
В таблице учетных записей в базе данных нет столбца user_id. Вы должны сначала получить все планы, принадлежащие учетной записи, а затем вы должны проверить, есть ли в этих планах конкретный пользователь, которого вы ищете. Пожалуйста, уточните свой вопрос. также вы хотите перемещаться между моделями, я предлагаю добавить отношение
has_manyмежду моделями. Я рекомендую просмотреть следующее, если вы не знакомы с этой концепцией: guides.rubyonrails.org/association_basics.html