gpt4 book ai didi

ruby-on-rails - 未找到时将带条件的显示操作限制为 404

转载 作者:行者123 更新时间:2023-12-04 05:56:25 24 4
gpt4 key购买 nike

我想将我的 PostsController 上的show 操作限制为仅允许已发布 的帖子。

这是我的:

def show
@post = Post.find_by slug: params[:slug], published: true
end

我希望这会抛出一个 404。如果我尝试访问不存在的 slug,它就会执行。但是,如果我尝试访问一个确实存在但未发布的 slug,它会返回一个 200 和一个 View 。

我意识到我可以用一个简单的 if 来解决这个问题。但是,我想知道是否有 Rails-way 可以:

  • 找到或失败
  • 将路由预检查限制为仅发布的帖子

最佳答案

使用#find_by!代替#find_by,当找不到记录时抛出异常

关于ruby-on-rails - 未找到时将带条件的显示操作限制为 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30109906/

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