我试图使用grape-entity
,但我的实体类的名称空间有问题,但我无法理解原因。
我有这个葡萄实体课:
# app/controllers/api/v1/entities/vehicules.rb
module API
module V1
module Entities
class Vehicules < Grape::Entity
expose :marque
expose :modele
expose :user do
expose :name
end
end
end
end
end
葡萄类:
# app/controllers/api/v1/vehicules.rb
module API
module V1
class Vehicules < Grape::API
include API::V1::Defaults
version 'v1'
format :json
resource :vehicules do
desc "Return list of vehicules"
get do
#authenticate! @todo
vehicules = Vehicule.find_by(user_id: params['user_id'])
present vehicules, with API::V1::Entities::Vehicules
end
当我拨打curl http://localhost:3000/api/v1/vehicules?user_id=123
时,我在rails服务器中收到了这条消息:
Ruby2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:457:in `load':
app/controllers/api/v1/vehicules.rb:21: syntax error, unexpected tCONSTANT, expecting keyword_do or '{' or (' SyntaxError)
present vehicules, with API::V1::Entities::Vehicules
^
任何帮助都会很棒。
答案 0 :(得分:0)
它with:
present vehicules, with: API::V1::Entities::Vehicules