我有一个items_controller.rb我需要帮助写在轨
def get_serialized_copy_of_item
@item= Item.find_by_id(params[:id])
if @item.nil?
head :no_content
else
respond_to do |format|
serialized_item = @item.as_json(include: [:test1, :test2, :test3, :test4])
format.html
format.json { render json: serialized_item }
end
end
end
的routes.rb
namespace :items do
get '/get_serialized_copy_of_item/:id', to:'items#get_serialized_copy_of_item'
end
RSpec的测试我想写一个rspec的测试
- 提交不正确的商品ID并确保返回204
我已经做了
require 'spec_helper'
describe Items::ItemsController do
describe "GET items#get_serialized_copy_of_item" do
it "renders 204 status code" do
get "/items/get_serialized_copy_of_item/dfsdf"
expect(last_response.status).to eq(204)
end
end
end
错误:我收到路由错误
F
Failures:
1) Items::ItemsController GET items#item renders 204 status code
Failure/Error: get "/items/get_serialized_copy_of_item/dfsdf"
ActionController::RoutingError:
No route matches {:controller=>"items/items", :action=>"/items/get_serialized_copy_of_item/dfsdf"}
# ./spec/controllers/items/items_controller_spec.rb:6:in `block (3 levels) in <top (required)>'
Finished in 0.01576 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/controllers/items/items_controller_spec.rb:5 # Items::itemsController GET items#item renders 204 status code
束EXEC耙路线
GET `items/get_serialized_copy_of_item/:id(.:format) items/items#get_serialized_copy_of_item`
感谢
可以请你'束EXEC耙routes'的输出添加到您问题的结束? – sixty4bit
@ sixty4bit新增。 – kavin