加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:55:01 所属栏目:百科 来源:网络整理
导读:我有一个简单的控制器,指定: respond_to :json 当我尝试构建一个这样调用它的功能测试: test "GET" do get 'index',:format = :jsonend 一切都很好.但是,如果我尝试传递一个查询参数,就像这样: test "GET" do get 'index',{:my_param = '1234'},:format =
我有一个简单的控制器,指定:
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}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读