AbstractController
中ActionController
和rails 4
之间的区别是什么?
他们做了什么以及他们有何不同?
答案 0 :(得分:4)
AbstractController
提供了结构,ActionController
是与Web相关呈现相关的结构的一种实现。
AbstractController
的核心是render
方法。抽象控制器以尽可能通用的方式列出需要发生的事情(规范化参数,过程格式等),但它并不涉及任何细节。
ActionController
是AbstractController
的具体实现。 ActionController::Base
类提供了render
方法,该方法添加了特定的web
风格。它关注request
,response
,http
等AbstractController
希望有所帮助
答案 1 :(得分:1)
AbstractController::Base
是一个低级API。没有人应该直接使用它,并且子类(如ActionController::Base
)应该提供自己的渲染方法,因为渲染意味着不同的东西,具体取决于上下文。
这是直接从文档中获取的:http://api.rubyonrails.org/classes/AbstractController/Base.html