首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pry / rails输出中隐藏列

如何在pry / rails输出中隐藏列
EN

Stack Overflow用户
提问于 2017-01-17 23:11:00
回答 2查看 468关注 0票数 3

我在db中的字段中写入了一个图像blob,但我不希望在查看user对象时在控制台中看到该输出。

我不需要为了应用程序的功能而更改或修改输出,这只是为了使用控制台进行调试/开发。我确实尝试了一些序列化概念,但它们对这些目的没有帮助。我还研究了filter_parameters,它只对日志记录有帮助,不能窥探控制台输出。

我正在使用pry-rails gem作为rails控制台,如果这会改变什么的话。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-17 23:29:30

您需要覆盖该对象的inspect方法。看看inspect的默认实现-它使用对象的所有属性。您必须将其更改为仅包含您希望显示的列/属性。

票数 0
EN

Stack Overflow用户

发布于 2017-01-17 23:38:24

您可以使用select来完成此操作

代码语言:javascript
复制
User.select(User.attribute_names - ['avatar', 'permalink']).last

如果您经常使用它,我建议您为User类声明一个作用域

代码语言:javascript
复制
class User < ActiveRecord::Base
  scope :pry_scope, ->{ select(User.attribute_names - ['avatar', 'permalink']) }
  ...
end

然后在你的控制台上使用它:

代码语言:javascript
复制
> User.pry_scope.last
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41700608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档