ruby – Rails 3 – 测试控制器的GET方法 – 尝试使用JSON并获得406个错误

前端之家收集整理的这篇文章主要介绍了ruby – Rails 3 – 测试控制器的GET方法 – 尝试使用JSON并获得406个错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的控制器,指定:
respond_to :json

当我尝试构建一个这样调用它的功能测试:

test "GET" do
  get 'index',:format => :json
end

一切都很好.但是,如果我尝试传递一个查询参数,就像这样:

test "GET" do
  get 'index',{:my_param = '1234'},:format => :json
end

我从控制器返回406错误.如果我通过response.inspect转储回应,我可以看到@status = 406和@header有一个内容类型的text / html.如果我通过response.inspect转发了一个不通过查询参数的简单情况的响应,那么我看到@header在代码中请求了一个application / json的内容类型.

有人有什么想法在这里做错了吗?我怀疑我正在用哈希法或其他东西拧上红宝石语法,但是我的头撞在墙上,没有到达任何地方.

我在Mac上运行Ruby 1.9和Rails 3.0.5.

提前致谢!

解决方法

这是你打电话的功能
get(action,parameters = nil,session = nil,flash = nil)

:格式部分仍然是一个参数,当然不是会话或闪存.尝试:

get 'index',{:my_param => '1234',:format => :json}

哦,重要的是,使用’=>’,而不是’=’…这是一个哈希,而不是一个作业.

猜你在找的Ruby相关文章