我有一個控制器:respond_to代碼:json的行爲非常奇怪
class ThingController < ActionController
respond_to :json
def create
puts "CREATE " + params.inspect
end
end
和測試:
require "spec_helper"
describe "/thing" do
context "create" do
it "should get params" do
params = {"a" => "b", "c" => ["d"], "e" => [], "f"=>"",
"g"=>nil, , "controller" => "NOPE", "action" => "NOPE"}
post uri, params
end
end
end
當我運行此,以下記錄:
CREATE {"a"=>"b", "c"=>["d"], "action"=>"create", "controller"=>"thing"}
我問題是:
e
去哪了?我期望它能夠反序列化爲一個空數組,而不是一無所有。- 爲什麼
action
和controller
params被混入呢?身體和鐵軌內部不是完全分開的擔憂? - 因此,我的
action
和controller
JSON字段被覆蓋。我將如何訪問這些? - 這是不是接受JSON的正確方法?
我是新來的Rails,但我做了很多Django。
太好了,謝謝。我正在追蹤一個必須被輕微破壞的例子。 – Joe 2014-10-17 10:09:05