我在 Rails 中有这条(诚然可怕的)路线:
范围'/软件'做 发布 '/:software_id/:attachment_id/event/*event' => 'software#post_event',如:'post_event' 结尾
(我会更改它,但要使用旧版 API)
我正在为它编写一个 RSpec 测试。
rake routes
给我:
post_event POST /software/:software_id/:attachment_id/event/*event(.:format) api/version1301/software#post_event
我的测试如下所示:
描述“post_event”做 它“应该以 204 响应” 参数 = { attachment_id:@attachment.uid, 软件ID:@license.id } 发布:post_event,参数 response.code.should eq "204" 结尾 结尾
但我收到以下路由错误:
失败/错误:发布:post_event,参数 动作控制器::路由错误: 没有路由匹配 {:format=>"json", :name_path=>:api, :attachment=>"7b40ab6a-d522-4a86-b0de-dfb8081e4465", :software_id=>"0000001", :attachment_id=>"7b40ab6a- d522-4a86-b0de-dfb8081e4465", :controller=>"api/version1301/software", :action=>"post_event"} # ./spec/controllers/api/version1301/software_controller_spec.rb:62:in `block (4 levels) in '
您如何使用通配符(事件)处理路由?