gpt4 book ai didi

ruby-on-rails - 具有自定义路线的Rails自定义错误页面

转载 作者:行者123 更新时间:2023-12-03 08:29:08 26 4
gpt4 key购买 nike

我正在关注本教程:http://wearestac.com/blog/dynamic-error-pages-in-rails

但是,在我的路线文件中,我有两个自定义路线:

get '/blog',        to: 'blog_posts#index', as: :blog
get '/:id', to: 'blog_posts#show', as: :show_blog_post

当我转到一个不存在的页面时,它不会重定向到错误页面。相反,它给了我 Completed 404 Not Found. Error during failsafe response: ActiveRecord::RecordNotFound

自定义路由使错误页面无法正常工作。删除自定义路线后,一切正常。

如何获得我的错误页面来使用?我本以为返回404的任何内容都会重定向到 ErrorsController,但这没有发生。

最佳答案

您的
get '/:id', to: 'blog_posts#show', as: :show_blog_post
路线似乎正在处理您的自定义错误处理。如果用户去
/404blog_posts#show被使用参数id = 404调用,我猜测它正在尝试查找ID为404的博客帖子,这会导致ActiveRecord::RecordNotFound异常。

您可以做的是将错误规则放在/:id的顶部,因为路由按照列出的顺序进行匹配,但我只建议您不要使用像/:id这样的东西,因为它可能会意外捡起东西,例如我们正在处理。使用诸如/posts/:id之类的描述性内容来限定路线。

关于ruby-on-rails - 具有自定义路线的Rails自定义错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016418/

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