0

我想检查一个用户是否包含在一个组中。为了做到这一点,我有以下声明:

user_id = current_user.id
unless (group.user.find(user_id))
  redirect_to different_path
end

查看文档,“如果使用 id 调用查找,则找不到请求的对象会引发 ResourceNotFound 异常。” 如何编写 unless 语句以使其正常运行?

4

2 回答 2

2

如果你定义了组和用户之间的关系,你可以调用current_user.group.present?This 将返回 false 如果没有相关对象。

于 2012-05-07T23:29:34.177 回答
1

您可以将重定向作为异常处理的一部分来处理

redirect_to path if group.user.find(user_id)

rescue ResourceNotFound
  redirect_to differenct_path
end

或者,可能更好的方法是围绕你的逻辑构建

user.groups.include?(group)
于 2012-05-07T23:29:47.297 回答