Rails中的Action Pack组件

时间:2013-10-29 01:05:38

标签: ruby-on-rails ruby-on-rails-4

我是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组件是什么?

3 个答案:

答案 0 :(得分:3)

ActionPack与 ActionController ActionView 捆绑在一起。在处理任何请求时,在场景后面,动作视图和动作控制器在处理请求时起着重要作用。但是,ActiveRecord和ActionPack都是一组不同的组件。由于@Leandro提到视图和控制器层作为单个组件组合为 ActionPack

ActionPack = ActionController + ActionView

enter image description here

希望这有帮助!

答案 1 :(得分:3)

我注意到了同样的差异。 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

答案 2 :(得分:0)

好问题......

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

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

希望这有帮助