3

我有一个图像 blob 写入数据库中的一个字段,但是当我查看用户对象时,我不想在控制台中看到该输出。

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

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

4

2 回答 2

0

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

于 2017-01-17T15:29:30.483 回答
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
于 2017-01-17T15:38:24.107 回答