我试图在谷歌上找到这个,但似乎找不到任何东西。我有一个名为 Likes 的模型,以及一个仅属于 Event 和 User 的控制器。我想防止人们在未登录时创建赞,并且不允许他们为其他用户创建赞。这样做的正确方法是什么?
谢谢
我试图在谷歌上找到这个,但似乎找不到任何东西。我有一个名为 Likes 的模型,以及一个仅属于 Event 和 User 的控制器。我想防止人们在未登录时创建赞,并且不允许他们为其他用户创建赞。这样做的正确方法是什么?
谢谢
当您拥有基于用户的系统时,与用户拥有的数据相关的所有查询都需要包含用户,或者源自用户。大多数身份验证系统都有一个帮助程序来获取当前用户,通常称为current_user
.
假设您的模型有一些事情,为了“喜欢”一个事件,您可以通过以下几种方式进行:
current_user.likes.create(event_id: params[:event_id])
Like.create(event_id: params[:event_id], user: current_user)
验证也可以提供帮助,确保事件和用户 ID 始终存在。如果没有用户登录,这应该会失败,假设有人猜到了尝试手动创建点赞的路径。