ruby-on-rails - 将参数传递给 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)
. 我究竟做错了什么?
解决方案
我最终解决了它:
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
推荐阅读
- typescript - 巢穴。自定义提供程序,注入无法解析 useFactory 的依赖关系
- javascript - 将箭头函数的内容复制到常规函数
- android - Ionic 3 - 如何实现viewpager?
- node.js - 升级到 Angular 6,错误:“拒绝删除”......“在外面”......“而不是链接”
- php - Mpdf 7.1 创建 pdf 文件,写入所有文本但没有 HTML 标签或 CSS
- php - 使用 Twig 1 和 Codeigniter 2 的未知“转储”功能错误
- unix - 将文件夹名称附加到文件的第一列
- c# - 在 C# winforms 中解决冗长的 onPaint 事件的正确方法?
- html - 左右边缘的插图框阴影褪色/透明
- visual-studio - 为什么使用命令 Update-Package --reinstall 后安装了新软件包