加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails – 处理404s的任何奇特方式?

发布时间:2020-12-17 04:15:26 所属栏目:百科 来源:网络整理
导读:我有一个我为一个旧网站构建的rails应用程序,我从另一个cms转换(用非rails语言,呵呵).大多数旧页面都使用routes.rb映射到新页面.但仍有一些404. 我是一个rails newb所以我问是否有任何先进的方法来处理404s.例如,如果我用我的旧语言编程,我会这样做: 获取正
我有一个我为一个旧网站构建的rails应用程序,我从另一个cms转换(用非rails语言,呵呵).大多数旧页面都使用routes.rb映射到新页面.但仍有一些404.

我是一个rails newb所以我问是否有任何先进的方法来处理404s.例如,如果我用我的旧语言编程,我会这样做:

>获取正在访问的URL(script_name)并解析它.
>在数据库中查找新URL中找到的任何关键字,ID等.
>如果找到,则重定向到页面(或者如果找到多个记录,则在结果页面上显示所有记录并让用户选择).使用rails我可能想做:status => :我正在猜测?
>如果未找到,请显示404.

有没有你知道的宝石/插件或教程可以处理这样的事情,如果它甚至可能的话.或者你能从高层次解释如何做到这一点吗?我不需要完整的代码示例,只需向正确的方向推进即可.

PS.这是一个使用单个内容模型的简单rails 3应用程序.

解决方法

把它放在路线中(在你拥有的每一条路线之后,这将捕获每个网址)
match '*url' => 'errors#routing'

现在,在路由操作中的错误控制器中,您可以实现所需的任何奇特逻辑,并像往常一样呈现视图(您可能希望在渲染调用中添加:status => 404).请求的控制器中可以使用请求的URL作为params [:url].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读