我在db中的字段中写入了一个图像blob,但我不希望在查看user对象时在控制台中看到该输出。
我不需要为了应用程序的功能而更改或修改输出,这只是为了使用控制台进行调试/开发。我确实尝试了一些序列化概念,但它们对这些目的没有帮助。我还研究了filter_parameters,它只对日志记录有帮助,不能窥探控制台输出。
我正在使用pry-rails gem作为rails控制台,如果这会改变什么的话。
发布于 2017-01-17 23:29:30
您需要覆盖该对象的inspect方法。看看inspect的默认实现-它使用对象的所有属性。您必须将其更改为仅包含您希望显示的列/属性。
发布于 2017-01-17 23:38:24
您可以使用select来完成此操作
User.select(User.attribute_names - ['avatar', 'permalink']).last如果您经常使用它,我建议您为User类声明一个作用域
class User < ActiveRecord::Base
scope :pry_scope, ->{ select(User.attribute_names - ['avatar', 'permalink']) }
...
end然后在你的控制台上使用它:
> User.pry_scope.lasthttps://stackoverflow.com/questions/41700608
复制相似问题