Ruby Grape 过滤器如何过滤掉 API 方法 (语法不清楚)

return · 发布于 2016年12月21日 · 最后由 return 回复于 2016年12月21日 · 408 次阅读
96
module API
  # Projects API
  class Repositories < Grape::API
    before { authenticate! }
    before { authorize! :download_code, user_project }
    resource :projects do
      ...
      ....

      #   GET /projects/:id/repository/test
      get ':id/repository/test' do
          content...
      end
    end
  end
end

上面的代码中,我想在第一个 before { authenticate! } 中except掉tree,即调test api的时候不走authenticate!,请问语法上该怎么写? 感谢!

共收到 12 条回复
96

@huacnlee 求教,感谢~

96

@Rei @lgn21st @hooopo @lyfi2003 大家谁有时间帮我看看这个问题,谢谢!

4215

自己查文档啊

96

#3楼 @chenge api 文档中貌似没有这类用法...

4215

肯定有,似乎是,before_filter

6楼 已删除
96

#5楼 @chenge 我知道 :except => [:action] 但是这里的aciton 是以get 形式 get ':id/repository/test' 这种情况不太清楚怎么写,能不能解释下,谢谢!

4215

你这个是grape吧。应该是方法名字吧。

96

#8楼 @chenge 是的,是grape, 有办法实现吗? before { authenticate! :except => [:test]} and before { authenticate! :test} 语法上都有问题😅

4215

#9楼 @return 那你标题有问题啊,写的rails。grape我不知道哦。

96

#10楼 @chenge 恩恩,是的,我没说清楚,grape的怎么写呢?求指教

96

#12楼 @placeintime 非常感谢,我明白了👍 👍 👍 👍 👍 👍 👍

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册