我创建了一个具有各种帖子和评论的测试博客应用程序。在学习本教程的同时,我们创建了与之相关的多个帖子和评论,并且每个帖子和评论都与一个唯一的ID相关联。
因此我可以调用some_address / posts / 1或/ 2或3,每个都有一个destroy选项。
我删除了ID为1的帖子,现在按预期的方式在尝试posts / 1时给了我一个错误。但这使我的应用程序看起来丑陋且不一致。
我知道我无法恢复该内容和ID。但是,有没有我可以用来将/ 2和/ 3更新为/ 1和/ 2的代码?
我是新手,只是测试一下。请帮忙
id
保存记录后,我不应该在数据库中进行更改。如果尝试,您将遇到各种各样的问题(外键和引用断开)。
如果您不希望在帖子不存在的情况下向用户显示404(未找到)错误页面,则可以尝试将用户重定向到下一个帖子,如下所示:
# in your controller
def show
@post = Post.where(id: params[:id]).first
redirect_to(Post.where('id > ?', params[:id]).first!) unless @post
end
请注意,如果没有比被删除的帖子新的帖子,此代码仍将显示404(未找到)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句