Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我如何限制只属于特定类型的用户?_Ruby On Rails_Associations - Fatal编程技术网

Ruby on rails 我如何限制只属于特定类型的用户?

Ruby on rails 我如何限制只属于特定类型的用户?,ruby-on-rails,associations,Ruby On Rails,Associations,我试图在我的模型上设置一个属于的关联,例如: belongs_to :user 但我想将其仅限于一种类型的用户(例如,whereuser.role==“admin” 我曾尝试使用属于_to:user,->{where(role:“admin”)},但它似乎不起作用 任何其他类型的用户将无法拥有此关联 我该怎么做呢?谢谢。在评论模型上创建验证 class Comment < ... validate :user_is_admin private def user_is_admin

我试图在我的模型上设置一个
属于
的关联,例如:

belongs_to :user
但我想将其仅限于一种类型的用户(例如,where
user.role==“admin”

我曾尝试使用
属于_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
类注释<。。。
验证:用户是管理员
私有的
def用户是管理员
错误。添加(:user,“user必须是admin”),除非user&&user.is\u admin?
结束
结束