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

return · 发布于 2016年12月21日 · 最后由 return 回复于 2016年12月21日 · 309 次阅读
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
return · #1 · 2016年12月21日

@huacnlee 求教,感谢~

96
return · #2 · 2016年12月21日

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

4215
chenge · #3 · 2016年12月21日

自己查文档啊

96
return · #4 · 2016年12月21日

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

4215
chenge · #5 · 2016年12月21日

肯定有,似乎是,before_filter

6楼 已删除
96
return · #7 · 2016年12月21日

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

4215
chenge · #8 · 2016年12月21日

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

96
return · #9 · 2016年12月21日

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

4215
chenge · #10 · 2016年12月21日

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

96
return · #11 · 2016年12月21日

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

96
placeintime · #12 · 2016年12月21日

https://ruby-china.org/topics/26540 可以参考下这个topic

96
return · #13 · 2016年12月21日

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

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