我想测试一个适用于浏览器的控制器,看起来像这样
http://url.dev/jobs/1445.json?project_id=1144&accesskey=MyString
这就是我在控制器spec文件中的内容:
params = {:id=>"1445", :project_id=>1144, :accesskey=>"MyString"}
get :show, params, format: :json
在日志中我看到:
Processing by JobsController#show as HTML
Parameters: {"id"=>"1440"}
为什么它尝试以HTML格式而不是JSON格式进行处理?为什么它只接收id参数?
另外,如果我这样做:
get :show, id: params[:id], format: :json
它尝试使用JSON进行处理,但它不起作用,因为我需要其他参数。
答案 0 :(得分:4)
format: :json
部分必须在第二个参数上。
这很好用
params = {:id=>"1445", :project_id=>1144, :accesskey=>"MyString", format: :json}
get :show, params
答案 1 :(得分:0)
get
只接受 2 个参数," action"和" args"
您的代码:
get :show, params, format: :json
传入 3