我正在尝试在我的模型上设置belongs_to
关联,例如:
belongs_to :user
但我想将此限制为仅限某种类型的用户(例如user.role == "admin"
我曾尝试使用belongs_to :user, -> { where(role: "admin") }
,但似乎无法正常使用。
任何其他类型的用户都无法进行此关联。
我怎么能这样做?感谢。
答案 0 :(得分:2)
在评论模型上创建验证
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