无效的常量API ::葡萄和葡萄实体

时间:2016-04-06 09:50:00

标签: ruby-on-rails grape-entity

我试图使用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
                           ^

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

with:

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