首页 > 解决方案 > 将参数传递给 around_action 引发:LocalJumpError no block given (yield)

问题描述

我想把我的行动包装在这个around_action

around_action { do_stuff("foo") }

我的around_action样子是这样的:

def do_stuff(arg)
  some_block do
    Rails.logger.error "arg: #{arg}"
    yield
  end
end

但这引发了LocalJumpError no block given (yield). 我究竟做错了什么?

标签: ruby-on-railsruby-on-rails-5

解决方案


我最终解决了它:

around_action -> (controller, block) { do_stuff("foo", block) }

def do_stuff(arg, block)
  some_block do
    Rails.logger.error "arg: #{arg}"
    block.call
  end
end

推荐阅读