gpt4 book ai didi

ruby-on-rails - Rails - 处理 404 的任何奇特方法?

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

我有一个为旧站点构建的 rails 应用程序,我从另一个 cms(非 rails 语言,呵呵)转换而来。大多数旧页面使用 routes.rb 映射到新页面。但是还是有一些404。

我是 Rails 新手,所以我问是否有任何高级方法来处理 404。例如,如果我用我的旧语言编程,我会这样做:

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

  • 如果可能的话,是否有任何您知道的 gem /插件或教程可以处理这样的事情。或者你能在高层次上解释如何做到这一点?我不需要完整的代码示例,只需朝正确的方向插入即可。

    附注。这是一个使用单一内容模型的简单 rails 3 应用程序。

    最佳答案

    把它放在路由中(在你拥有的所有其他路由之后,这将捕获每个 url)

    match '*url' => 'errors#routing'

    现在在路由操作中的错误 Controller 中,您可以实现您想要的任何奇特逻辑,并像往常一样呈现 View (您可能希望将 :status => 404 添加到 render 调用中)。请求的 url 将作为 params[:url] 在 Controller 中可用.

    关于ruby-on-rails - Rails - 处理 404 的任何奇特方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636490/

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