我是Rails的初学者,正在阅读RailsGuides。
在RailsGuides中,它说:
Action View和Action Controller是它的两个主要组成部分 行动包。
- RailsGuides Action View Overview
并在Action Pack section of Rails on GitHub,它说, Action Pack由Action Dispatch和Action Controller组件组成。
我的问题是,实际上Action Pack组件是什么?
答案 0 :(得分:3)
ActionPack与 ActionController 和 ActionView 捆绑在一起。在处理任何请求时,在场景后面,动作视图和动作控制器在处理请求时起着重要作用。但是,ActiveRecord和ActionPack都是一组不同的组件。由于@Leandro提到视图和控制器层作为单个组件组合为 ActionPack 。
ActionPack = ActionController + ActionView
希望这有帮助!
答案 1 :(得分:3)
我注意到了同样的差异。 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
答案 2 :(得分:0)
好问题......
在Rails中,Controller和View层由Action Pack一起处理。这两层由于相互依赖性很大而捆绑在一个包装中。这与Active Record和Action Pack之间的关系不同,后者是独立的。这些包中的每一个都可以在Rails之外独立使用。
我建议您克隆项目gitihub并打开他们的类作为抵押品。
希望这有帮助