[英]How to use rails 'get' in a rspec test
在控制器規范內,我有以下代碼...
subject do
get 'index'
puts 'response is ' + response.body
JSON.parse(response.body)
end
可以正常工作,獲取特定api控制器的index操作。 但是,當我嘗試顯示請求時,我不知道如何傳遞變量,所以當我運行時...
subject do
get 'show'
puts 'response is ' + response.body
JSON.parse(response.body)
end
我得到了錯誤...
←[31mFailure/Error:←[0m ←[31mget 'show'←[0m
←[31mActionController::RoutingError←[0m:
←[31mNo route matches {:controller=>"api/example/v1/clinics", :action=>"show"}←[0m
api / example / v1 / clinics有一個show操作,當然我沒有傳遞它需要的參數,不確定如何去做。 如何執行表演動作?
我嘗試了類似的東西
get 'api/example/v1/clinics/2'
但這也不起作用。 我似乎也找不到該rails方法的文檔。 任何幫助表示贊賞。 謝謝。
您可以傳入一個ID以get :show
by:
get 'show', id: 2
對於需要參數的控制器動作(例如show動作需要“ id”),您需要將其作為參數傳遞給get請求:
get :show, id: 1
或者,如果使用舊的1.8哈希語法:
get :show, :id => 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.