在新的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 ..为什么?
Rails 4中有以下参数:
{"delivery_time":"10","delivery_type_id":"1","order_items":[{"count":"5","item_id":"1"}],"order_status_id":"1","user_id":"1","action":"create","controller":"api/v1/orders"}
Run Code Online (Sandbox Code Playgroud)
有以下强烈的参数:
params.permit(:user_id, :order_status_id, :delivery_type_id, :delivery_time, order_items:[])
Run Code Online (Sandbox Code Playgroud)
但是这段代码返回没有'order_items'数组的哈希.我认为原因是数组中的哈希.请告诉我,我该如何解决?提前致谢