如何将 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
我正在尝试为我的模型设置一个 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