在新的Rails 3.2应用程序中,您可以在config/initializers/wrap_parameters.rb中找到以下行:
ActiveSupport.on_load(:action_controller) do
wrap_parameters format: [:json]
end
# Disable root element in JSON by default.
ActiveSupport.on_load(:active_record) do
self.include_root_in_json = false
end
Run Code Online (Sandbox Code Playgroud)
我对第二个代码块的理解是,如果你将一个对象转换为json,它将不包含一个根节点(即users => {:name =>'John'},而它只是{:name =>'约翰'}
那么第一个wrap_parameters块会做什么?它作用于action_controller ..为什么?
有人能告诉我在轨道上的ruby中控制器和动作之间的区别吗?
我从官方的rails指南中获取了这个定义:
控制器的目的是接收应用程序的特定请求.路由决定哪个控制器接收哪些请求.通常,每个控制器都有多条路由,不同的路由可以由不同的动作提供服务.每个操作的目的是收集信息以将其提供给视图.
我很迷惑.请尽量让它变得简单,因为我是新手!
谢谢!