Ruby on Rails 路由器2024 年 12 月 18 日 | 阅读 4 分钟 Rails 路由识别 URL 并将它们分发到控制器的动作。它还生成路径和 URL。Rails 路由以不同于其他语言路由的方式处理 URL。它确定请求的控制器、参数和动作。 基本上,路由是一种将传入请求重定向到控制器和动作的方式。它取代了 mod_rewrite 规则。最棒的一点是,在 Rails 中,路由适用于任何 Web 服务器。 Rails 通过 config/routes.rb 文件处理路由,而不是依赖 Web 服务器来控制 URL 路由。此文件控制 URL 的每个方面,例如尝试匹配请求的 URL 路径并决定将请求定向到何处的规则。 下面解释了 Rails 路由器的主要目的
RESTful 路由要理解路由,我们需要理解 REST。Rails 主要使用 REST 进行 URL 路由。因此,REST 对于理解 Rails 路由非常重要。它代表具象状态传输。 有几种 HTTP 方法与 REST 一起使用,以表示用户或应用程序执行的操作类型。
创建路由要创建路由,您需要将 URL 映射到控制器和动作。当路由器看到请求时,它会将其分发到与 URL 匹配的控制器的动作。 如果 URL 看起来像这样 它将被映射到控制器的动作,假设路由定义为 这是简写形式, 控制器将是 RollController,方法将是 branch。方法前面的 # 是 Ruby 中表示它是一个实例方法的方式。 示例 让我们通过一个例子来看一下。 创建一个 student 应用程序。 在此应用程序中,创建一个名为 RollController 的控制器。路由将为在 RollController 类中定义为方法的操作定义。 打开 library/config/routes.rb 文件,并在其中编写以下代码。 它定义了应用程序中可用的操作和操作类型,例如 patch、get 和 post。 要列出应用程序中定义的用于跟踪路由问题的路由,请使用以下命令。 输出 ![]() 资源路由资源路由允许您声明控制器的所有常见路由。它在一行代码中定义了 index、create、update、read、delete 和 new 操作的单独路由。 Web 上的资源浏览器通过某些 HTTP 方法(如 GET、POST、PUT、DELETE 和 PATCH)从 URL 请求页面。每个方法都对请求执行一个操作。 CRUD、动词和动作资源型路由提供了 HTTP 动词和 URL 到控制器动作之间的映射。按照惯例,每个动作都会映射数据库中的特定 CRUD 操作。 路径和 URL 助手通过创建资源型路由,将在应用程序中公开许多控制器助手。 同时定义多个资源您可以通过使用单个对资源的调用来定义多个资源的路由。 单数资源单数资源是指用户在没有任何引用 ID 的情况下请求的资源。例如,您可以使用单数资源将 /profile(而不是 /profile/:id)映射到 show 动作。 控制器命名空间和路由控制器组在命名空间下组织。通常,许多管理控制器都在 Admin:: 命名空间下命名。这些控制器位于 app/controllers/admin 目录下,并且可以在路由器中组合在一起。 嵌套资源某些资源是其他资源的子资源。嵌套路由允许您在路由中捕获关系。 路由关注点路由关注点允许您声明可以在其他资源和路由中重复使用的常见路由。 从对象创建路径和 URLRails 还可以从参数数组创建路径和 URL。 添加更多 RESTful 动作您不限于默认的 RESTful 路由。您可以创建其他路由以应用于集合的集合或各个成员。 非资源型路由Rails 为您提供了一种将任意 URL 路由到操作的工具。在这里,您必须在应用程序中单独设置每个路由,因为您不会通过资源型路由自动获得路由组。 |
我们请求您订阅我们的新闻通讯以获取最新更新。