Rails 应用中的请求路由与 REST 架构解析
1. Action Dispatch 和 Action Controller 概述
在 Rails 应用里,Action Pack 是核心部分,它由三个 Ruby 模块构成,分别是 ActionDispatch、ActionController 和 ActionView。Action Dispatch 负责将请求路由到控制器,Action Controller 把请求转化为响应,而 Action View 则被 Action Controller 用来格式化这些响应。
举个具体例子,在 Depot 应用中,网站根路径 / 被路由到 StoreController 的 index() 方法。该方法执行完毕后,会渲染 app/views/store/index.html.erb 模板。这些操作都是由 Action Pack 组件里的模块协同完成的。
这三个子模块共同协作,为处理传入请求和生成传出响应提供支持。下面我们将重点探讨 Action Dispatch 和 Action Controller。
2. 请求分发到控制器
一个基本的 Web 应用会接收来自浏览器的请求,对其进行处理,然后发送响应。那么,应用是如何知道该如何处理传入的请求呢?比如购物车应用会收到显示商品目录、向购物车添加商品、创建订单等请求,它是怎样把这些请求路由到相应的代码的呢?
Rails 提供了两种定义请求路由的方式:
- 全面方式
超级会员免费看
订阅专栏 解锁全文
52

被折叠的 条评论
为什么被折叠?



