2017-01-17 29 views
1

我有一个图像blob写入数据库中的字段,但我不想在查看用户对象时在控制台中看到该输出。如何在pry/rails输出中隐藏列

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

我使用轨道控制台的撬轨宝石,如果这改变了任何东西。

回答

0

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

0

可以使用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.last