访问rescue_from中的参数

时间:2014-09-01 14:33:19

标签: ruby-on-rails rack grape

我正在使用葡萄,我想访问rescue_from中的请求参数:

class API < Grape::API

  rescue_from Grape::Exceptions::ValidationErrors do |e|
    rack_response({
  end
...

我该怎么做?

3 个答案:

答案 0 :(得分:5)

我设法做到了这一点:

rescue_from :all do |e|
  req = Rack::Request.new(env)
  ApiCallAudits.create data: {input_params: req.params.as_json}, backtrace: $!.to_s, status: :error
end

答案 1 :(得分:3)

你可以尝试这样的事情:

rescue_from  Grape::Exceptions::ValidationErrors do |e|
  env['api.endpoint'].helper_method
end

婴儿车可以在帮手中使用,但我不确定这个技巧https://github.com/intridea/grape/issues/438

答案 2 :(得分:0)

如果有人仍然对此感到疑惑,请提供最近的答案:

rescue_from Grape::Exceptions::ValidationErrors do |e|
  env['grape.request'].params
end

https://github.com/ruby-grape/grape/pull/894