gpt4 book ai didi

ruby-on-rails - Rails 验证与授权

转载 作者:行者123 更新时间:2023-12-04 07:30:37 24 4
gpt4 key购买 nike

我有一个场景,我不确定某个特定功能是否应该被视为验证或授权。我可以用任何一种方式编码。

用户可以“喜欢”文章。

当用户创建新的“喜欢”时,我需要确保用户尚未喜欢该文章。前端会限制功能,但我想要后端保护措施。

确保用户尚未喜欢该文章的过程是否应该被视为验证或授权?

收到的评论的进一步内容:

如果身份验证确定该选项是否可供用户使用,或者不可用,并且验证确定用户选择是否有效,则...

即使用户之前已经“喜欢”,Auth 也会提供单击“喜欢”的选项,因此验证将不可避免地失败。

这种想法会导致向用户呈现无效选项。

是否确保用户只能删除/编辑自己的“喜欢”身份验证或验证?前面的逻辑意味着它应该是验证,因为用户是否有权在模型中添加/更新或销毁,并确保他们的操作有效是验证的​​作用但是,提供删除其他用户的选项是不合逻辑的仅在验证失败时拒绝。

最佳答案

这是验证。我不知道你的模型架构,但如果你有一个 Like 模型,你可以这样验证:

class Like < ActiveRecord::Base
belongs_to :user_id
belongs_to :article_id

validates :article_id, uniqueness: { scope: :user_id }
end

您还应该确保数据库级别存在唯一约束,以避免潜在的竞争条件。

关于ruby-on-rails - Rails 验证与授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com