5

我是 Rails 初学者,正在阅读 RailsGuides。

在 RailsGuides 中,它说:

Action View 和 Action Controller 是 Action Pack 的两个主要组件。
- RailsGuides 操作视图概述

GitHub 上 Rails 的 Action Pack 部分,它说,Action Pack 由 Action Dispatch 和 Action Controller 组件组成。

我的问题是,实际上 Action Pack 组件是什么?

4

3 回答 3

5

ActionPack 与ActionControllerActionView捆绑在一起。在处理任何请求时,在幕后,动作视图和动作控制器都在处理请求中发挥着重要作用。但是,ActiveRecord 和 ActionPack 都是一组不同的组件。正如@Leandro 提到的,视图层和控制器层作为一个单独的组件组合在一起,就像ActionPack一样。

ActionPack = ActionController + ActionView

在此处输入图像描述

希望这可以帮助!

于 2015-12-13T10:24:30.003 回答
4

我注意到了同样的差异。看来 Rails 指南不正确。ActionView 不是 ActionPack 的一部分。

ActionPack 是与 Rails 捆绑在一起的 gem,由 Action_dispatch 和 Action_controller 模块组成。ActionView 是一个单独的 gem,也与 Rails 捆绑在一起。每个都有自己的 Github 存储库https://github.com/rails/rails/tree/master/actionpackhttps://github.com/rails/rails/tree/master/actionview

如果您查看任何 Rails 项目中的 gemfile.lock,您会看到在 Rails 下有用于 actionpack 和 actionview 的单独模块。您还可以查看计算机上的实际 gem 文件,您将看到一个用于 actionpack-4.xx 的文件夹(其中将有一个 lib/action_controller 文件夹和 lib/action_dispatch 文件夹)和一个用于 actionview-4 的文件夹。 xx

于 2016-06-30T19:37:04.787 回答
0

好问题...

在 Rails 中,控制器和视图层由 Action Pack 一起处理。由于它们的高度相互依赖,这两层被捆绑在一个包中。这与独立的 Active Record 和 Action Pack 之间的关系不同。这些包中的每一个都可以在 Rails 之外独立使用。

我建议你克隆项目 github 并打开他们的课程作为抵押品..

希望这可以帮助

于 2013-10-29T01:20:22.990 回答