Rails如何知道要显示哪些属性?

时间:2018-06-14 06:58:06

标签: ruby-on-rails ruby-on-rails-5

我正在使用Devise,当我输入rails c时,User.last只显示idcreated_atupdated_at和{{1}即使有许多属性。为什么这样做?我可以控制它可以显示哪些默认属性吗?

1 个答案:

答案 0 :(得分:3)

不通过API调用共享关键信息的安全功能,您可以控制它。

# app/models/user.rb

class User < ApplicationRecord

   devise :database_authenticatable,...

   ...

   protected

   def serializable_hash(options = nil) 
    super(options).merge(reset_password_token) # you can keep adding attributes here that you wish to expose
  end

end

您可以通过以下方式获取所有属性的列表:

User.new.attributes

另一个类似问题的完整答案: https://stackoverflow.com/a/41754974/7970365

相关问题