如何向Heroku环境的rails console传递参数及相关报错问题咨询
报错原因
Rails 6.1+ 调整了控制台命令的参数解析逻辑,且原写法中Heroku会将-- --nomultiline合并为单个字符串参数传递给rails console,不符合Rails的参数格式要求,因此抛出参数错误。
正确解决方法
方法1:直接传递参数启动关闭多行模式的控制台
用引号包裹完整的rails控制台命令即可正确传参:heroku run "rails console -- --nomultiline"也可通过双层分隔符实现同样效果:
heroku run -- rails console -- --nomultiline方法2:进入控制台后临时关闭多行模式
先正常启动控制台:heroku run rails console进入IRB会话后执行以下配置即可关闭当前会话的多行支持:
IRB.conf[:USE_MULTILINE] = false(可选)永久生效配置
如果需要所有Heroku部署的控制台默认关闭多行模式,可在项目根目录新增.irbrc文件,写入如下内容后重新部署:IRB.conf[:USE_MULTILINE] = false
内容的提问来源于stack exchange,提问作者estani
相关产品推荐
相关产品推荐

