У меня есть следующие модели:
class User < ApplicationRecord
has_and_belongs_to_many :lists
end
class Workspace < ApplicationRecord
has_many :lists, dependent: :nullify
end
class List < ApplicationRecord
has_and_belongs_to_many :users
belongs_to :workspace, optional: true
scope :by_workspace, ->(workspace) { where(workspace: workspace) }
scope :by_user, ->(user) { joins(:users).where(users: { id: user }) }
end
Мне нужна область действия by_workspace_or_user
, которая возвращает любой список, принадлежащий данной рабочей области или данному пользователю.Я пытался объединить их, используя or
, но не повезло.