포도에서 API 리소스 경로를 선언하는 구문에 대한 설명을 찾고 있습니다. 아래 예제는 "/ items", "/ items/: id", "/ objects"및 "/ objects/: id"리소스 경로를 선언합니다. undestand가 "/ items/: id"에 대한 정의가 null을 반환하는 이유는 무엇입니까?포도에서 리소스 경로를 선언하는 구문
class API < Grape::API
format :json
default_format :json
rescue_from :all, backtrace: true
resource :items do
desc "Returns an array of all items."
get do
ITEMS.find.to_a
end
desc "Returns an item by its id."
get '/:id' do
# hardcoding the document id returns the correct document
# ITEMS.find_one("item_id" => 2519)
# using the path parameter :id returns null, why???
ITEMS.find_one("item_id" => params[:id])
end
end
resource :objects do
desc "Returns an array of all objects."
get do
OBJECTS.find.to_a
end
##
# using the route_param syntax correctly returns the document
# resource path /objects/:id
##
desc "Returns an object by its id."
params do
requires :id, type: Integer
end
route_param :id do
get do
OBJECTS.find_one("object_id" => params[:id])
end
end
end
end