ruby-on-rails – Rspec Rails:POST URL参数到控制器
发布时间:2020-12-17 02:01:18 所属栏目:百科 来源:网络整理
导读:我希望我的用户这样做 POST /controllername/v1{ "p2":"v2","p3":"v3"} 并安排POST到达控制器“controllername”为 params={ :p2 = "v2",:p3 = "v3" } p1=v1 或者,实际上,我可以使用任何其他外观到控制器;关键是URL(“v1”)中的最后一个字需要提供给控制器使
我希望我的用户这样做
POST /controllername/v1 { "p2":"v2","p3":"v3" } 并安排POST到达控制器“controllername”为 params={ :p2 => "v2",:p3 => "v3" } p1=v1 或者,实际上,我可以使用任何其他外观到控制器;关键是URL(“v1”)中的最后一个字需要提供给控制器使用,与p2 / v2和p3 / v3类似. 而且,我需要用Rpec来测试这个.特别: rspec 2.6.4 rails 3.0.9 ruby 1.9.2 我正在使用一条路线 match '/controllername/:p1' => 'controllername#create' 这个rspec规则有效: it 'should route to :create' do assert_routing({ :path => '/controllername/foofoo',:method => :post },{ :controller => "controllername",:action => 'create',:p1 => 'foofoo' }) end 但我无法弄清楚如何发布它(从控制器规范).这些都不起作用: post :create,parameters post :create,parameters,'foofoo' post :create,:p1 => 'foofoo' post :create,:p1 => 'foofoo',parameters 解决方法
对于你的例子:
在controllername_controller_spec.rb中 post :create,:p1 => "foo",:p2 => "bar",:p3 => "baz" 基本上,只需将路径中的所有参数和您希望在请求体中提供的参数放在一起 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |