2013-10-12 24 views
0

我有一個香草欄4應用程序,我試圖添加一個版本化的葡萄API。 Rails服務器精細啓動,但是當我試圖訪問API URL(http://localhost:3000/v1/user/ping),我得到的錯誤:Rails 4和葡萄 - 分割API文件時未定義的方法`調用'

undefined method `call' for V1:Module 

到目前爲止,API我已經安裝非常簡單,但我想不出爲什麼它不工作

根/應用/ API/api.rb:

# root/app/api/api.rb 
class API < Grape::API 
    mount V1 
end 

內的版本文件夾,我想將所有的API的版本支持類:根/應用程序/api/v1/user.rb:

# root/app/api/v1/user.rb 
module V1 
    class user < Grape::API 
    get :ping do 
     { :ping => params[:pong] || 'pong' } 
    end 
    end 
end 

根/配置/路線:

TestApp::Application.routes.draw do 
    mount API => '/' 
end 

回答

3

我拆我的API成文件夾:

v1/resources/users.rb 
v1/resources/orders.rb 
v1/entities/order.rb 
v2/resources/orders.rb 

,然後在api.rb剛剛安裝的各個文件...

mount V1::Resources::Users 
mount V1::Resources::Orders 
mount V2::Resources::Orders 

然後:

version ['v2','v1'], cascade: true 
version 'v2', cascade: true