微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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}

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

原文地址:https://www.jb51.cc/ruby/272228.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐