升级至Rails 7后Active Record对象仅显示ID属性问题咨询
Rails 7控制台Active Record对象仅显示id的解决方法
Rails 7默认调整了Active Record对象的inspect输出行为,默认只展示主键字段(通常是id),以此避免加载不必要的属性、提升性能,尤其是包含大字段的模型场景。
要恢复Rails 6的显示效果,有几种方式:
全局生效:在
config/application.rb中添加配置:config.active_record.inspect_all_columns = true重启控制台后,所有模型对象执行
inspect时都会显示全部属性。单个模型生效:在目标模型类中设置:
class MyFancyModel < ApplicationRecord self.inspect_all_columns = true end仅该模型会在控制台显示全部属性。
临时查看:不想修改配置的话,除了调用
.attributes,还可以用:# 临时让当前对象inspect显示所有属性 MyFancyModel.last.inspect(include_all_columns: true) # 或者用pp格式化输出所有属性 pp MyFancyModel.last.attributes
内容的提问来源于stack exchange,提问作者patrick
相关产品推荐
相关产品推荐

