我想检查一个用户是否包含在一个组中。为了做到这一点,我有以下声明:
user_id = current_user.id
unless (group.user.find(user_id))
redirect_to different_path
end
查看文档,“如果使用 id 调用查找,则找不到请求的对象会引发 ResourceNotFound 异常。” 如何编写 unless 语句以使其正常运行?
我想检查一个用户是否包含在一个组中。为了做到这一点,我有以下声明:
user_id = current_user.id
unless (group.user.find(user_id))
redirect_to different_path
end
查看文档,“如果使用 id 调用查找,则找不到请求的对象会引发 ResourceNotFound 异常。” 如何编写 unless 语句以使其正常运行?
如果你定义了组和用户之间的关系,你可以调用current_user.group.present?
This 将返回 false 如果没有相关对象。
您可以将重定向作为异常处理的一部分来处理
redirect_to path if group.user.find(user_id)
rescue ResourceNotFound
redirect_to differenct_path
end
或者,可能更好的方法是围绕你的逻辑构建
user.groups.include?(group)