2016-04-06 80 views
0

我想使用grape-entity,我遇到了我的实体类的名称空间的问题,但我不明白为什么。无效的常量API ::与葡萄和葡萄实体

我有这个葡萄实体类:

# 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我在轨服务器这样的信息:

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

with:

present vehicules, with: API::V1::Entities::Vehicules