-1

我试图在谷歌上找到这个,但似乎找不到任何东西。我有一个名为 Likes 的模型,以及一个仅属于 Event 和 User 的控制器。我想防止人们在未登录时创建赞,并且不允许他们为其他用户创建赞。这样做的正确方法是什么?

谢谢

4

1 回答 1

1

当您拥有基于用户的系统时,与用户拥有的数据相关的所有查询都需要包含用户,或者源自用户。大多数身份验证系统都有一个帮助程序来获取当前用户,通常称为current_user.

假设您的模型有一些事情,为了“喜欢”一个事件,您可以通过以下几种方式进行:

current_user.likes.create(event_id: params[:event_id])
Like.create(event_id: params[:event_id], user: current_user)

验证也可以提供帮助,确保事件和用户 ID 始终存在。如果没有用户登录,这应该会失败,假设有人猜到了尝试手动创建点赞的路径。

于 2013-10-30T15:41:37.013 回答