Rails中的Action Pack组件

我是Rails初学者并阅读RailsGuides。

在RailsGuides中,它说:

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

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

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

ActionPack与ActionControllerActionView捆绑在一起。 在处理任何请求时,在场景后面,动作视图和动作控制器在处理请求时起着重要作用。 但是,ActiveRecord和ActionPack都是一组不同的组件。 正如@Leandro所提到的那样,视图和控制器层一起组成一个单独的组件作为ActionPack

ActionPack = ActionController + ActionView 

在此处输入图像描述

希望这可以帮助!

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

ActionPack是一个与Rails捆绑在一起的gem,它由Action_dispatch和Action_controller模块组成。 ActionView是一个单独的gem,也与Rails捆绑在一起。 每个人都拥有自己的Github存储库https://github.com/rails/rails/tree/master/actionpack和https://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

好问题…

在Rails中,Controller和View层由Action Pack一起处理。 这两层由于其相互依赖性很强而捆绑在一个包装中。 这与Active Record和Action Pack之间的关系不同,后者是独立的。 这些包中的每一个都可以在Rails之外独立使用。

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

希望这可以帮助