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与ActionController和ActionView捆绑在一起。 在处理任何请求时,在场景后面,动作视图和动作控制器在处理请求时起着重要作用。 但是,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并打开他们的类作为抵押品..
希望这可以帮助