如何将 belongs_to 限制为仅特定类型的用户?

how do I restrict belongs_to to only a specific type of user?

我正在尝试为我的模型设置一个 belongs_to 关联,例如:

belongs_to :user

但我只想将此限制为一种类型的用户(例如 user.role == "admin"

我已经尝试使用 belongs_to :user, -> { where(role: "admin") },但它似乎不起作用。

任何其他类型的用户将无法拥有此关联。

我该怎么做?谢谢。

在评论模型上创建验证

class Comment < ...

validate :user_is_admin

private

def user_is_admin
  errors.add(:user, "user must be admin") unless user && user.is_admin?
end

end