You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调试Ruby脚本调用方法报NameError 如何正确传参读取new_key数据

解决方案

报错根因

你收到的NameError是因为在Rails控制台的主运行上下文中,传入方法的target_folder变量未提前定义,不存在于当前作用域。

正确调用方法

先在Rails控制台中给target_folder赋值为你实际要使用的目标文件夹路径,再调用方法即可,示例如下:

# 替换为你的实际目标路径
target_folder = '你要使用的目标文件夹路径'
# 再执行方法调用
Courts::Aws::S3Util.new('bucket_name').move_objects(target_folder)

调试读取new_key的方法

你代码中已经插入了binding.pry断点,调用方法后程序会自动停在断点位置,此时直接在控制台输入对应变量名即可查看值:

  • 输入new_key可直接读取当前循环生成的新key值
  • 输入obj.key可查看当前S3对象的原始key
  • 输入s3_folder可确认前缀替换的源前缀是否符合预期
  • 逐行执行下一行代码输入next,直接终止调试输入exit!

如果调用方法后没有触发断点,确认开发环境已安装pry或pry-railsgem,未安装的话在Gemfile添加对应依赖后执行bundle install,重启Rails控制台即可。

内容的提问来源于stack exchange,提问作者user16741832

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:45:04