使用prepend来包装葡萄api方法

时间:2014-09-29 03:25:43

标签: ruby prepend grape

我使用grape来构建我的api网站,我想在我的网站上添加自动使用的日志功能,所以我在Grape :: API类中使用了prepend,这就是我的做法:

module GrapeExtension
 def get(paths = ['/'], options = {}, &block)
   #add log code here
   super
 end
end

并添加我使用Grape :: API的代码,例如

class API < Grape::API
    prepend GrapeExtension
    #other code
    get '/info' do
     #function code
    end
end

但似乎我在请求/ info api时没有调用GrapeExtension中的代码,为什么?

1 个答案:

答案 0 :(得分:0)

尝试用通用路径处理程序替换paths=['/'],如下所示:

module GrapeExtension
 def get(paths = ['/*'], options = {}, &block)
   #add log code here
   super
 end
end