我想将我的PostsController
上的show动作限制为仅允许发布的帖子。
这就是我所拥有的:
def show
@post = Post.find_by slug: params[:slug], published: true
end
我希望这会引发
404
。如果我尝试访问不存在的段,它会执行。但是,如果我尝试访问确实存在但未发布的块,则会返回200和一个空视图。我意识到我可以用一个简单的
if
解决这个问题。但是,我想知道是否有Rails-way:找到或失败
将路线预检查限制为仅发布的帖子
最佳答案
当找不到记录时,使用#find_by!
而不是#find_by
引发异常