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

如何在Rails runner脚本中复现Rails控制台的输出样式

Rails runner脚本实现与Pry控制台一致的美观输出

rails runner执行脚本时,puts默认调用对象的to_s方法,ActiveRecord实例的默认to_s输出就是你看到的#<User:0xxxxx>内存地址格式。而Rails控制台(Pry环境)会自动对返回结果调用内置的格式化打印逻辑,包含高亮、属性分层排版,所以输出更规整。

方案1:使用Ruby标准库内置pp工具(无额外依赖)

pp(Pretty Print)是Ruby官方内置的格式化打印模块,输出为分层排版的对象属性,适配绝大多数场景。
修改tinker.rb内容如下:

require 'pp'
u = User.first
pp u

执行rails r './tinker.rb'即可看到结构化的对象输出。

方案2:调用Pry内置格式化器(和Pry控制台输出100%一致)

如果需要完全复现Pry控制台的高亮配色、排版样式,直接调用Pry的打印工具即可,要求项目已引入Pry依赖(通常为pry-rails gem)。
修改tinker.rb内容如下:

require 'pry'
u = User.first
Pry::ColorPrinter.pp(u)

如果运行时报错找不到pry,先在Gemfile中添加gem 'pry-rails',执行bundle install后再运行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:27:03